单击多个复选框
Multiple check box clicking
表格标签
<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;
}
});
我的复选框被点击了,但它总是显示警报消息"请选择选项"的其他部分
使用id="chkbox"
的DOM中似乎有多个输入字段。这将导致无效标记,并且$('#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
是什么,它是一个单独的按钮还是在每个表行上都有这样的按钮。
如果它是一个按钮,那么前面的代码应该是好的->它确保至少有一个复选框被选中。
如果你有很多这样的按钮,那么你应该为它们使用一个类选择器(在为每个按钮分配相同的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() {
相关文章:
- 如何防止jQuery中复选框单击时执行多个代码
- 复选框单击功能不起作用
- 复选框单击覆盖表行单击
- 如果父项具有onclick绑定,则复选框单击将被忽略
- 在数据网格中的复选框单击时使用 Databinder.Eval
- 切换复选框 - 单击父 DIV 元素
- 如何调用文本框代码隐藏文本更改事件从复选框单击位于网格视图行内
- 在复选框单击时清理我的jQuery代码
- 复选框单击事件处理程序和显示/隐藏功能
- 保留 Google 地图在复选框单击时缩放到 kml 图层
- 复选框单击事件 jQuery 不起作用
- jQgrid:禁用复选框单击,仅在单击复选框时选中复选框
- 复选框单击的限制
- 计数 + / - 用于复选框单击和取消单击
- 放大复选框单击区域
- 复选框单击功能不起作用
- 根据复选框单击更改表单输入的值
- 复选框单击有效,取消选中复选框不工作Javascript
- 需要在webforms-ascx复选框单击事件上以特定方式激发事件
- Ext.grid.EditorGridPanel中的复选框(单击一次可触发编辑后事件)