Тестирование, если флажок отмечен с помощью jQuery - PullRequest
575 голосов
/ 27 января 2011

Если флажок установлен, то мне нужно только получить значение как 1;в противном случае мне нужно получить его как 0. Как мне сделать это с помощью jQuery?

$("#ans").val() всегда даст мне одно право в этом случае:

<input type="checkbox" id="ans" value="1" />

Ответы [ 20 ]

992 голосов
/ 27 января 2011

Используйте .is(':checked'), чтобы определить, проверен ли он, и затем установите соответствующее значение.

Больше информации здесь.

206 голосов
/ 27 января 2011
$("#ans").attr('checked') 

скажет вам, если это проверено. Вы также можете использовать второй параметр true / false, чтобы установить / снять флажок.

$("#ans").attr('checked', true);

За комментарий используйте prop вместо attr, если доступно. Например:

$("#ans").prop('checked')
88 голосов
/ 09 мая 2012

Просто используйте $(selector).is(':checked')

Возвращает логическое значение.

55 голосов
/ 16 апреля 2013
// use ternary operators
$("#ans").is(':checked') ? 1 : 0;
20 голосов
/ 30 января 2015

Ответ Штефана Бринкманна превосходен, но неполон для новичков (опускается переменная).Просто чтобы уточнить:

// this structure is called a ternary operator
var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;

Работает так:

 var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;

Пример:

var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );

Оповещения «нет»

Если это полезно, пожалуйста, подтвердите ответ Стефана Бринкмана.

17 голосов
/ 08 августа 2015

Вы можете попробовать это:

$('#studentTypeCheck').is(":checked");
15 голосов
/ 05 июля 2012

Я обнаружил ту же проблему раньше, надеюсь, что это решение поможет вам. во-первых, добавьте пользовательский атрибут в свои флажки:

<input type="checkbox" id="ans" value="1" data-unchecked="0" />

написать расширение jQuery для получения значения:

$.fn.realVal = function(){
    var $obj = $(this);
    var val = $obj.val();
    var type = $obj.attr('type');
    if (type && type==='checkbox') {
        var un_val = $obj.attr('data-unchecked');
        if (typeof un_val==='undefined') un_val = '';
        return $obj.prop('checked') ? val : un_val;
    } else {
        return val;
    }
};

используйте код для получения значения флажка:

$('#ans').realVal();

Вы можете проверить здесь

7 голосов
/ 28 августа 2013
$('input:checkbox:checked').val();        // get the value from a checked checkbox
6 голосов
/ 08 августа 2011

Вы также можете использовать:

$("#ans:checked").length == 1;
6 голосов
/ 14 февраля 2014
<input type="checkbox" id="ans" value="1" />

Jquery: var test= $("#ans").is(':checked') и он возвращает истину или ложь.

В вашей функции:

$test =($request->get ( 'test' )== "true")? '1' : '0';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...