是否选中了基于复选框的条件函数

时间:2014-10-01 13:04:58

标签: jquery checkbox

$('#fastbill').click(function(){
    if ($('#changevaluebill').attr('checked','true')){
        $('#changevaluebill').attr("value","Recharge Now");
    }
    else {
        $('#changevaluebill').attr("value","Proceed");
    }
});

复选框条件不起作用。

3 个答案:

答案 0 :(得分:2)

有很多方法可以检查是否选中了复选框

您可以使用is(':checked')

尝试:

$('#fastbill').click(function(){
  if($('#changevaluebill').is(':checked')){
     $('#changevaluebill').val("Recharge Now");
  } else {
     $('#changevaluebill').val("Proceed");
  }
});

其他方式可能是:

$('#changevaluebill').prop('checked') //布尔
$('#changevaluebill:checked').length //整数> 0
可以使用$('#changevaluebill:checked').size() // .size()代替.length
$('#changevaluebill').get(0).checked //布尔值true $('#changevaluebill')[0].checked //布尔值为true(与上述相同)

Reference

答案 1 :(得分:1)

这不符合你的想法:

$('#changevaluebill').attr('checked','true')

这不会确定如果它是'true'的值,它值设置为'true'。您可以使用the .is() function有条件地检查元素的某个方面。像这样:

$('#changevaluebill').is(':checked')

答案 2 :(得分:1)

正如其他人所说,您需要使用.is():checked

但是你应该使用.val()来设置输入字段的值

$('#fastbill').click(function () {
    $('#changevaluebill').val(function () {
        return this.checked ? 'Recharge Now' : 'Proceed'
    });
});