LINUX.ORG.RU

Jquery

 


0

1

Вопрос jquery'истам!

function chainedCityByRegion() {

    $('input[name="region"]').click (function () {
        if ( $(this).is (':checked') ) {
            var class_name = $(this).attr("class");

            if ( $('input[name="city"].class_name').not(':checked') ) {
                console.log( $('input[name="city"].class_name').attr("name") )
                $('input[name="city"].class_name').prop('checked', true);
            }

        }
    });

}

Почему я не могу получить (прочесть или установить) атрибуты у элемента $('input[name=«city»].class_name')? Однако в if'e это сделать удается (поверка на не чекед). В чем может быть причина? В консольке получаю undefined.


Ответ на: комментарий от Deleted

Да не. В синтаксисе все норм, вроде). if получает true или false в зависимости от возвращаемого значения выражения

[code=js]
$('input[name=«city»].class_name').not(':checked')
[/code]

true - если не чекнуто и false - если чекнуто.

А установка свойства checked синтаксически может осуществляться как ('checked', 'checked'), так и ('checked', true).

djnoob
() автор топика

Ты все никак не можешь написать две строчки чтобы сделать «отметить все»? Теперь с jQuery?

anonymous
()
Ответ на: комментарий от anonymous

Да отвали ты от меня со своими двумя строчками :) ! Их я давно написал.

$(document).ready(function() {

    $("#tra-la-la").click(function() {
         $('.o-lo-lo').find('input[type="checkbox"]').each(function() {
             $(this).prop('checked', true);
         });
    });

});
Sektor
()
Ответ на: комментарий от Sektor

Бляха, и ради этого стоило использовать jQuery? Ну ладно, но цикл и дополнительный селект-то зачем? Чем плохо

$(document).ready(function() {

    $("#tra-la-la").click(function() {
         $('.o-lo-lo input[type="checkbox"]').prop('checked', true);
    });

});
?

Воистину, люди перестали понимать, что они кодят.

anonymous
()

Ты же не подставляешь реальный class_name в селектор.

Должно быть как-то так:

var selector = 'input[name=city].' + class_name,
    $input   = $(selector);

if ($input.not(':checked')) {
  console.log($input.attr('name'));
  $input.prop('checked', true);
}
Apple-ch ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.