表格标签
<tr>
<td>
<input id="chkbox" name="chkbox" type="checkbox" class="Checkbox" value = <%: item.field1 %> />
</td>
<td>
<%: item.field1 %>
</td>
<td>
<%: item.field2 %>
</td>
</tr>
我的Jquery
$("#Free").click(function fn() {
if ($('#chkbox').is(':checked')) {
return true;
}
else {
alert("Please Select option");
return false;
}
});
单击我的复选框,但它始终显示警告消息“请选择选项”的其他部分
答案 0 :(得分:1)
看起来您的DOM中有多个输入字段id="chkbox"
。这会导致无效的标记,并且您的$('#chkbox')
选择器始终返回第一个元素。
您可以改用类名:
<input name="chkbox" type="checkbox" class="Checkbox" value = <%: item.field1 %> />
然后:
$("#Free").click(function() {
if ($('.Checkbox:checked').length > 0) {
return true;
}
else {
alert("Please Select option");
return false;
}
});
同样根据你的问题,不清楚这是#Free
是什么,它是单个按钮还是每个表行都有这样的按钮。
如果是单个按钮,那么之前的代码应该没问题 - &gt;它确保至少有一个复选框被选中。
如果您有许多这样的按钮,那么您应该为它们使用类选择器(在为每个按钮指定相同的class
之后),然后:
$(".Free").click(function() {
var checkbox = $(this).closest('tr').find('.Checkbox');
if (checkbox.is(':checked')) {
return true;
}
else {
alert("Please Select option");
return false;
}
});
另请注意,.click事件中有一些无效的javascript:
.click(function fn() {
我使用匿名函数修复了:
.click(function() {