复选框值始终返回false

时间:2016-02-15 16:27:53

标签: javascript jquery

我有一个复选框

<input id="Run" name="Run" value="true" type="checkbox">

<input name="Run" value="false" type="hidden">

当我尝试获取值时,它总是返回false

 $('#Run').val()

"False"

我尝试使用.prop

获取值
$('#Run').prop('checked')

但我仍然将值设为false

我也试过

 $('#Run').on('change', function () {
        $('#Run').val($(this).is(':checked') ? 'True' : 'False');
    });

5 个答案:

答案 0 :(得分:3)

如果您只想访问checkbox属性,请尝试使用此属性。

 $(document).ready(function () {
        $('#Run').on('change', function () {
           alert($(this).is(':checked'));
        });
    });

如果您只想访问checkbox属性并分配给隐藏的输入,请尝试这个。

 $(document).ready(function () {
        $('#Run').on('change', function () {
            $('input[name="Run"]').val($(this).is(':checked') ? 'true' : 'false');
        });
    });

答案 1 :(得分:1)

$('#Run').on('change', function () {
     $('input[type=hidden]').val($(this).is(':checked'));
});

is()将返回true或false

DEMO Fiddle

答案 2 :(得分:1)

function checkCheckbox() {
    document.getElementById('RunHidden').value = document.getElementById('Run').checked;
}
<input id="Run" name="Run" value="true" onchange="checkCheckbox()" type="checkbox">
<input id="RunHidden" name="RunHidden" value="false" type="text">

检查复选框Run是否已选中:


纯JavaScript

if(document.getElementById('Run').checked) {
    alert('Checked!');
}

<强>的jQuery

if($("#Run").is(':checked')) {
    alert('Checked!');
}

答案 3 :(得分:0)

您始终为复选框设置checked = true而不是value = true。

<input type="checkbox" checked="true"/>

检查它需要检查的值

var boolean = $('#idOfCheckbox').is(':checked');

属性已检查非常重要 对于radiobutton也是如此。

值用于文本框(输入类型=文本)

答案 4 :(得分:0)

除了.is(':checked').prop('checked').attr('checked')等各种功能外,如果您的控件位于更新面板中,您可以尝试使用通配符选择器

要获得所有以&#34开头的元素;模拟&#34;你应该使用:

$("[id^=mock]")

以#34; mock&#34;

结束
$("[id$=mock]")

另请参阅JQuery documentation