复选框值始终返回 false

Checkbox value is always returning false

本文关键字:返回 false 复选框      更新时间:2023-09-26

我有一个复选框

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

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

 $('#Run').val()
"False"

我试图使用 .prop 获取值

$('#Run').prop('checked')

但我仍然得到值为假

我也试过

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

如果您只想访问复选框属性,请尝试此属性。

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

如果您只想访问复选框属性并分配给隐藏输入,请尝试此操作。

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

is(( 将返回真或假

演示小提琴

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!');
}

j查询

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

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

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

要检查它的值,您需要检查为

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

检查的属性很重要单选按钮也是如此。

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

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

要获取以"mock"开头的所有元素,您应该使用:

$("[id^=mock]")

获得那些以"模拟"结尾的人

$("[id$=mock]")

另请参阅 JQuery 文档