我创建了一个自定义的复选框.它基本上是一组2个复选框.当dom准备就绪时,两个复选框都被选中.允许用户仅取消选中一个.
这就是我如何实现它.
我有一个像这样的容器
<div class="container">
<input name="my_checkbox_1" type="checkbox" checked="checked">
<label for="my_checkbox_1" class="on">Hello</label>
<input name="my_checkbox_2" type="checkbox" checked="checked">
<label for="my_checkbox_2" class="on">World</label>
</div>
Run Code Online (Sandbox Code Playgroud)
现在当用户点击标签时,我找到最近的容器
parent = $(this).closest(".container");
Run Code Online (Sandbox Code Playgroud)
一旦我有父母,我就会找到像这样检查过的复选框的数量
len = $(parent).find("input:checkbox:checked").length;
Run Code Online (Sandbox Code Playgroud)
如果len为0,我尝试用适当的错误提醒用户.这适用于所有其他浏览器的工作,但即(我可以说在那里不出意?).但我在这里做错了什么?
请记住,我有许多这样的容器,其复选框具有唯一的名称.
我在http://jsfiddle.net/kiranruth/UeEyB/1/创建了一个代码小提琴
您需要将parent声明为局部变量或重命名它,因为您要覆盖window的父属性
我只想在你的变量前加上var
var parent = $(this).closest(".container");
var len = $(parent).find("input:checkbox:checked").length;
Run Code Online (Sandbox Code Playgroud)