在复选框值

时间:2016-03-17 23:57:24

标签: jquery checkbox

您好如何添加if复选框检入输入值为true,何时复选框取消选中false?

我尝试这样但它不起作用:

$('#analytics').change(function(){
    if($("#analytics").prop('checked')){
        $("#analytics").val('true');
        console.log(analytics);
    }else{
        $("#analytics").val('false');
        console.log(analytics);
    }
});

JSFIDDLE

3 个答案:

答案 0 :(得分:0)

使用jQuery的attr()方法。

$('#analytics').change(function(){
        if($("#analytics").prop('checked')){
            $("#analytics").attr('value', 'true');
            console.log(analytics);
        }else{
            $("#analytics").attr('value', 'false');
            console.log(analytics);
        }
    });

Updated JSFiddle

要将jQuery添加到JSFiddle,请单击JavaScript窗口右上角的齿轮。见截图。

enter image description here

答案 1 :(得分:0)

删除''true值附带的引号false。引号''用于字符串,而不是布尔值。

请参阅Article

请参阅Fiddle

试试这个:

var bool1 = Boolean('false');该值应为true。

var bool2 = Boolean(false);该值应为false。

<强>段

&#13;
&#13;
var bool1 = Boolean('false'); //the value should be true.

var bool2 = Boolean(false); //the value should be false.

var out1 = document.getElementById('out1');
var out2 = document.getElementById('out2');

out1.innerHTML = bool1;
out2.innerHTML = bool2;
&#13;
<label>bool1 =</label>
<output id="out1"></output>
<br/>
<label>bool2 =</label>
<output id="out2"></output>
<br/>
&#13;
&#13;
&#13;

$('#analytics').change(function() {
  if ($("#analytics").prop('checked')) {
    $("#analytics").val(true);
    console.log(analytics);
  } else {
    $("#analytics").val(false);
    console.log(analytics);
  }
});

答案 2 :(得分:0)

您可以使用相同的功能设置道具:

$('#analytics').change(function() {

    if ($(this).prop('checked')) {
        $(this).prop('checked', false);
    } else {
        $(this).prop('checked', true);
    }

    console.log($(this).prop('checked'));
});