javascript - child - jquery selector id like



測試複選框是否使用jQuery進行檢查 (12)

Stefan Brinkmann的回答非常好,但對於初學者來說是不完整的(省略了變量賦值)。 只是為了澄清:

// 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 );

警報'不'

如果這有幫助,請提出斯特凡布林克曼的回答。

如果復選框被選中,那麼我只需要取值為1; 否則,我需要得到它為0.我如何使用jQuery做到這一點?

$("#ans").val()在這種情況下總是會給我一個權利:

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

Answer #1

你也可以使用:

$("#ans:checked").length == 1;

Answer #2

你可以通過這兩種方法獲得值(真/假)

$("input[type='checkbox']").prop("checked");
$("input[type='checkbox']").is(":checked");

Answer #3

使用.is(':checked')來確定它是否被選中,然後相應地設置你的值。

更多信息在這裡。


Answer #4

只需使用$(selector).is(':checked')

它返回一個布爾值。


Answer #5

嘗試這個

$('input:checkbox:checked').click(function(){
    var val=(this).val(); // it will get value from checked checkbox;
})

這裡的標誌是真的,如果選中否則為false

var flag=$('#ans').attr('checked');

這又會使人感到厭煩

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

Answer #6

我以前發現過相同的問題,希望這個解決方案可以幫助你。 首先,為您的複選框添加一個自定義屬性:

<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();

你可以here測試


Answer #7

最近我遇到了一個案例,當用戶點擊按鈕時,需要檢查復選框的值。 唯一正確的方法是使用prop()屬性。

var ansValue = $("#ans").prop('checked') ? $("#ans").val() : 0;

這在我的情況下工作,也許有人會需要它。

當我嘗試.attr(':checked')它返回checked但我想要布爾值和.val()返回屬性value


Answer #8
$("#ans").attr('checked') 

會告訴你它是否被檢查過。 您還可以使用第二個參數true / false來選中/取消選中該複選框。

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

按照評論,可用時使用prop而不是attr 。 例如:

$("#ans").prop('checked')

Answer #9
$('input:checkbox:checked').val();        // get the value from a checked checkbox

Answer #10
// use ternary operators
$("#ans").is(':checked') ? 1 : 0;

Answer #11
function chkb(bool){
if(bool)
return 1;
return 0;
}

var statusNum=chkb($("#ans").is(':checked'));

如果復選框被選中,statusNum將等於1,如果不是,則為0。

編輯:你也可以將DOM添加到函數中。

function chkb(el){
if(el.is(':checked'))
return 1;
return 0;
}

var statusNum=chkb($("#ans"));




jquery-selectors