Пытаясь проверить, если флажок установлен, пожалуйста, что я делаю не так? - PullRequest
2 голосов
/ 24 августа 2010
$(document).ready(
function()
{   
    $('input[id^="btnRemoveCategory"]').bind(
        'click',
        function(){
            if($('input[id^="chkIsBottom_":checked]'))
                alert('YES YES YES!!!!');
            else
                alert('No NO no!!!!!');

Я пробовал с:

if($('input[id^="chkIsBottom_"]').attr(checked))

тоже ....

где моя ошибка ???

10x

Ответы [ 2 ]

3 голосов
/ 24 августа 2010
$('input[id^="chkIsBottom_":checked]')

… всегда будет возвращать истинное значение.Если ни один из них не отмечен, то это будет объект jQuery без элемента внутри.Вы хотите:

$('input[id^="chkIsBottom_":checked]').length

(который будет ложным, если длина равна 0, и истинным, если это не так)

Между тем:

if($('input[id^="chkIsBottom_"]').attr(checked))

… будетполучить значение атрибута X входного элемента first с идентификатором, который начинается с chkIsBottom_, где X - это то, что содержит переменная checked (что, вероятно, не определено, поскольку вы, вероятно, предполагалипередать строку).

2 голосов
/ 24 августа 2010

Вы были очень близки с вашей первой реализацией.

Попробуйте эту настройку:

$(document).ready(
function()
{   
    $('input[id^="btnRemoveCategory"]').bind(
        'click',
        function(){
            if($('input[id^="chkIsBottom_"]:checked').length > 0)
                alert('YES YES YES!!!!');
            else
                alert('No NO no!!!!!');

Другой вариант:

if($('input[id^="chkIsBottom_"]').is(':checked'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...