jquery按div选择复选框
我想知道当有人单击整个div层时,jQuery中是否有方法选中/取消选中复选框。本质上,就像有一个巨大的选择区域 有什么想法吗 这里有一个例子。。。我试图使复选框周围的点击切换到个人复选框,差不多jquery按div选择复选框,jquery,Jquery,我想知道当有人单击整个div层时,jQuery中是否有方法选中/取消选中复选框。本质上,就像有一个巨大的选择区域 有什么想法吗 这里有一个例子。。。我试图使复选框周围的点击切换到个人复选框,差不多 <fieldset> <div> <input type="checkbox" id="Checkbox1" /> </div> Person 1<br /> </fieldset> <
<fieldset>
<div>
<input type="checkbox" id="Checkbox1" />
</div>
Person 1<br />
</fieldset>
<fieldset>
<div >
<input type="checkbox" id="Checkbox2" />
</div>
Person 2<br />
</fieldset>
选中所有复选框:
<input type="checkbox" id="checkAll" /> Check All
可能使用单击的div作为父级
$(function() {
$('#divId').toggle(
function(event) {
$(this).find('input').attr('checked', true);
},
function(event) {
$(this).find('input').attr('checked', false);
}
);
});
这应该只选中所单击的divId内的框。当您想使这项工作既能单击div并在其内输入,又能触发更改功能时,可以使用以下代码:
$('fieldset div').bind('click', function() {
var checkbox = $(this).find(':checkbox');
checkbox.attr('checked', !checkbox.attr('checked'));
});
$('input').change(function() {
console.log('change triggered')
}).click(function(event) {
event.stopPropagation()
})
$('div').click(function() {
var c = $this.find('input')
c.attr('checked', (!c.is(':checked')).change()
})
最明显也是最具语义的方法是使用label元素,而不是div,将标签的'for'属性设置为复选框的id,不需要JavaScript!唯一需要注意的是,label是一个内联元素,因此不能包含块元素。如果只想将内联元素放入div中,请改用label。否则,eyazici的答案应该有效。您想在单击多个其他内容时选中单个框,还是在单击单个内容时选中多个框?单击单个内容时选中单个复选框,重复。我想制作一张卡片列表,每张卡片都有一个复选框。卡片的标题可以点击,基本上可以“检查”它。我已经用一个更清晰的例子更新了这个问题。我为缺少信息道歉。您可以使用CSS使标签包含块级元素-如果您在标签中放置一个跨距并设置样式:display:block;呃,我不认为这是我想要做的。如果单击了一个较大的层,我只想一次选中一个框。不是所有的。如果我用它作为身份证,我只能把它放在一个复选框上。不,对不起。这不是我想要做的。这很接近,但它仍然检查页面上的所有内容。内容是从数据库生成的,同一页上有几十个。是的!我相信是他干的!我可以麻烦您提供关于这里发生的事情的任何信息,以便更好地理解它吗?这与Aaron的回答相同,但不是全局$'input'查找文档中的所有输入,而是我将其限制在单击的div this中查找单击的div中的所有输入这也起作用。非常感谢大家!随着我尝试的每一件新事物,我都在学习更多关于jQuery的知识。
$('fieldset div').bind('click', function() {
var checkbox = $(this).find(':checkbox');
checkbox.attr('checked', !checkbox.attr('checked'));
});
$('input').change(function() {
console.log('change triggered')
}).click(function(event) {
event.stopPropagation()
})
$('div').click(function() {
var c = $this.find('input')
c.attr('checked', (!c.is(':checked')).change()
})