我有一个循环,循环并创建4个复选框。但是,因为视图中只有一个,所以我无法获得所有4个复选框的值。有没有办法获取复选框的所有ID,然后检查每个值?
HTML:
<div class="col-md-10" id="createButton">
@foreach (var item in (SelectList)ViewBag.RoleId) {
<input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline" id="test" />
@Html.Label(item.Value, new { @class = "control-label" })
}
</div>
JQuery的:
<script>
$("#CreateUserButton").on('click', function () {
if ($('#test').attr('checked', false)) {
alert("hey");
}
});
</script>
答案 0 :(得分:0)
请尝试检查所有复选框
$(":checkbox").each(function(){
alert($(this).prop('checked'));
});
答案 1 :(得分:0)
问题是id
,它在for...each
循环的每次迭代中都会重复。最好删除它并使用类名创建一个选择器。
<div class="col-md-10" id="createButton">
@foreach (var item in (SelectList)ViewBag.RoleId) {
<input type="checkbox" name="SelectedRoles" value="@item.Value" class="checkbox-inline test" />
@Html.Label(item.Value, new { @class = "control-label" })
}
</div>
然后你可以使用它:
$("#CreateUserButton").on('click', function () {
if ($('.test:checked').each(function() {
console.log(this.value);
});
});
答案 2 :(得分:0)
你可以试试,
$("#CreateUserButton").on('click', function () {
$('#createButton :checkbox').each(function(){
console.log(this.checked);
});
});
答案 3 :(得分:0)
您可以尝试以下代码:
release_path