получение значения флажка - PullRequest
2 голосов
/ 05 июня 2009

Я хочу получить значение флажка в переменной результата. Но я получаю значение как «неопределенное» в окне предупреждения. В чем моя ошибка?

var result = "";
$("#required").change(function (){
        result= $(".mycheckbox:checked").val();
        alert(result);
        });


<div class=".mycheckbox">
<input id="required" type="checkbox" title="Required" name="required" value="required">
<label for="required">Required</label> 
</div>

Ответы [ 4 ]

4 голосов
/ 05 июня 2009

Лучше использовать событие щелчка вместо изменения, поскольку событие изменения работает по-разному в зависимости от браузера, например. IE запускает событие изменения только тогда, когда флажок теряет фокус .

$(function() {
    $("#required").click(function (){ 
        var result= $(this).attr('checked');  
        alert(result);                
    });   
});

Рабочая демоверсия

Изменить:

Думаю, я неправильно понял ваш вопрос. Если вы хотите отображать предупреждение со значением флажка, когда флажок установлен, то будет работать что-то вроде следующего

$(function() {
    $("#required").click(function (){ 
        if ($(this).is(':checked')) { 
            var result = $(this).val();  
            alert(result);  
        }              
    }); 
});

Рабочая демоверсия

4 голосов
/ 05 июня 2009

В вашем коде

result= $(".mycheckbox:checked").val();

Я думаю, что это должно быть

result= $("#required").val();
2 голосов
/ 05 июня 2009

Вы можете сделать что-то вроде:

var result = ($("#required").is(':checked')) ? $("#required").val() : false;
2 голосов
/ 05 июня 2009

$ (". Mycheckbox: флажок") неверно, должно быть:

$(".mycheckbox :checked")

(обратите внимание на пробел)

Ваша декларация div также неверна. Вы не должны добавлять точку в имя класса:

<div class="mycheckbox">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...