jquery - 更改父 div 的复选框 attr onclick

标签 jquery html checkbox

我有一个输出图像的 php 脚本,目前要选择图像,您必须单击复选框。我想更改此设置,以便在单击父 div 时将复选框设置为选中。

如果我的父 div 有不同的 id,我知道如何执行此操作,并且该类似乎不好,因为它会将 php 输出的所有复选框设置为 true/false。

这是我到目前为止所拥有的:

JQuery

$('#div').bind('click', function() {
   var checkbox = $(this).find(':checkbox');

    checkbox.attr('checked', !checkbox.attr('checked'));
});

HTML(由php输出,因此存在多个。)

<div id="div" style='display:inline-block; padding:15px;' class='lifted drop-shadow-sq'>
    <img class='reflect reflect-br'  width='150px' height='150px' src=\"thumb.php?id=$id\">
        <input type='checkbox' class=\"show-man\" name=\"images[]\" value='$id'>
</div>

那么,当单击父 div 时,如何将复选框设置为选中状态,而不会导致任何其他复选框之间发生冲突?

感谢您提前提供的任何帮助。

最佳答案

您的选择器错误,标记中没有 ID 为 div 的元素, 您可以使用 prop 方法:

$('div').on('click', function() {
   $('input[type=checkbox]', this).prop('checked', function(i, checked){
      return !checked
   })
});

请注意,:checkbox 选择器已被弃用,并且 ID 必须是唯一的,如果您有多个具有相同 ID 的元素,则您的标记无效,并且您的 ID 选择器仅选择具有该特定 ID 的第一个元素,你应该使用类。

$('.div').on('click', function() {

关于jquery - 更改父 div 的复选框 attr onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060070/

相关文章:

php - 是否有可能像在 gmail 中一样在 php 中发出 "beep"声音

javascript - 获取包含特定值的 <li> 标签的 id

javascript - 即使向上滚动 1 像素,导航栏也会变得粘滞 - 我希望它仅在滚动超过 10 像素时才出现

包含可折叠递归目录列表的 HTML

javascript - 找出哪些函数占用大量 CPU

javascript - CSS/JS Checked 复选框应该是 "line out"待办事项列表应用程序中的 <li> 元素

javascript - 如何在 jQuery 中仅检查所有类别复选框或其他剩余类别复选框

c# - 数据网格复选框单元格

javascript - 有没有更好的方法来通过 jQuery 根据表的行数来选择表?

javascript - JS 未将值传递给 html div 标签