Javascript 选中复选框标签的Jquery选择器
我们可以选择选中的复选框(在jQuery中),如下所示:Javascript 选中复选框标签的Jquery选择器,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我们可以选择选中的复选框(在jQuery中),如下所示: jQuery(:checked) 但是我们如何在jQuery中选择选中复选框的标签呢?复选框不带文本(在asp.net中,它有带文本) 复选框文本是标签元素。只需使用的数学搜索属性: 在html中,它看起来像: <input type="checkbox" name="chk" /> <label for="chk">Checkbox 1</label> 这将返回所有复选框标签。标签不需要是复选框附
jQuery(:checked)
但是我们如何在jQuery中选择选中复选框的标签呢?复选框不带文本(在asp.net中,它有带文本)
复选框文本是
标签
元素。只需使用的数学搜索属性:
在html中,它看起来像:
<input type="checkbox" name="chk" />
<label for="chk">Checkbox 1</label>
这将返回所有复选框标签。标签不需要是复选框附近的下一个或上一个元素。假设您有此html
<label>Label</label>
<input type="checkbox" checked="checked"> test </input>
<label>Label 2</label>
<input type="checkbox" > test 2 </input>
<label>Label 3</label>
<input type="checkbox" > test 3</input>
*如果html中复选框后面有标签,请使用.next
*使用.parent
如果将复选框包装在label元素中除非标签的for属性指向复选框,或者将复选框包装在标签中,在这种情况下,您只需查找父标签,而不是ASP.NET的checkbox
控件,只需生成一个不带文本的HTML复选框,然后是文本?@BoltClock这是我写的。在asp.net中,它会做它的cmakes复选框,然后是一个带有for
的标签,这非常有效!不过,在我的例子中,我的复选框列表是绑定的,我必须使用“label”而不是“span”。或者干脆使用closest()
。。。(用标签包装输入无效)您是对的,无效,但。。。它发生了!.closest()
仅当标签是复选框的祖先时才会选择该标签(从jQuery in Action:返回一个包含与传递的表达式匹配的单个最近祖先的包装集,如果有的话),for属性也可以指向ID。。。您可以使用')$(this.attr('name')| |$(this.attr('id')')作为参数
jQuery('input[type=checkbox]:checked').map(function() {
return $('label[for=' + $(this).attr('name') + ']');
});
<label>Label</label>
<input type="checkbox" checked="checked"> test </input>
<label>Label 2</label>
<input type="checkbox" > test 2 </input>
<label>Label 3</label>
<input type="checkbox" > test 3</input>
$("input:checked").prev('label');