[英]How to retrieve true/false from a checkbox input?
我有一个表格,表格的每一行都有两个复选框。 我正在遍历表格的每一行并尝试将 boolean 发送回 controller(如果选中则为 true,如果不选中则为 false),但传回的值始终为 false。 作为参考,这是我设置表格的方式:
@foreach (var item in Model.lockers)
{
<tr>
<td>
@Html.CheckBoxFor(modelItem => item.IsActive, new { htmlAttributes = new { @class = "form-control IsEnabled" } })
</td>
<td>
@Html.CheckBoxFor(modelItem => item.IsADA, new { htmlAttributes = new { @class = "form-control IsADA" } })
</td>
</tr>
}
这是我从该复选框中检索信息的代码:
var list = [];
$('#tblMaster tbody tr').each(function (index, ele) {
var LockerDoorMaster = {
IsActive: $('.IsEnabled', this).is(":checked"),
IsADA: $('.IsADA', this).is(":checked")
}
list.push(LockerDoorMaster);
});
如何修改我的代码,以便在选中复选框时将值“true”传回? 谢谢!
<html>
<body>
<form name="y">
<input type="checkbox" name="inputOne">
<input type="checkbox" name="inputTwo">
</form>
<p id="demo"></p>
<script>
if(document.forms["form"]["inputOne"].selected == "true"){ document.getElementById("demo").innerHTML = "You Selected The First Button";}
if(document.forms["form"]["inputTwo"].selected == "true"){ document.getElementById("demo").innerHTML = "You Selected The Second Button";}
</script>
</body>
</html>
有时普通的香草js是go的最佳方式。
var cb = document.getElementById('cb').checked; console.log(cb); var cb2 = document.getElementById('cb2').checked; console.log(cb2);
<input id='cb' type='checkbox'> <input id='cb2' type='checkbox' checked>
如果我理解正确,您需要添加一个将在复选框更改时触发的事件,否则当您在列表中提交数据时,您将始终拥有复选框初始值。
var list = [];
function setList() {
list = [];
$('#tblMaster tbody tr').each(function (index, ele) {
var LockerDoorMaster = {
IsActive: $('.IsEnabled', this).prop('checked'),
IsADA: $('.IsADA', this).prop('checked')
};
list.push(LockerDoorMaster);
});
}
setList();
$('.IsEnabled').on('change', function () {
setList();
});
$('.IsADA').on('change', function () {
setList();
});
基本上,每次复选框值更改时,此代码都会更新您的列表。 虽然这不是最好的方法,但它回答了你的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.