复选框已全部单击

2024-02-22

我想在单击任何子项时选择父项。这段代码正在检查和检查。

$(function() {
  $(".child").on("click",function() {
      $parent = $(this).prevAll(".parent");
      if ($(this).is(":checked")) $parent.prop("checked",true);
      else {
         var len = $(this).parent().find(".child:checked").length;
         $parent.prop("checked",len>0);
      }    
  });
  $(".parent").on("click",function() {
      $(this).parent().find(".child").prop("checked",this.checked);
  });
});

它正在处理输入(请参阅link http://jsfiddle.net/fEWaH/)

<input type='checkbox' name='cat' class='parent' value='cat1' />Category 1<br>
<input type='checkbox' name='foo' class='child' value='1' />SubCategory 1<br>
<input type='checkbox' name='foo' class='child' value='1' />SubCategory 2

但使用

  • 检查不起作用(请参阅此link http://jsfiddle.net/dR84e/)
  • <input type='checkbox' name='cat' class='parent' value='cat1' />Category 1
    <ul>
        <il><input type='checkbox' name='foo' class='child' value='1' />SubCategory 1</il>
        <il><input type='checkbox' name='foo' class='child' value='1' />SubCategory 2</il>
    </ul>    
    

    查看您的代码后,我提出了一个我认为您想要的解决方案。

    通过使用自定义属性,如果选择了子复选框之一,我就选择了顶级复选框。如果至少选中了一个子级别复选框,则父级别将保持选中状态。否则,未经检查。这可能比浏览 DOM 更容易,并且最终代码要少得多。

    $(function() {
      $(".child").change(function() {
          if ($('.child[thisparent=' + $(this).attr('thisparent') + ']:checked').length == 0) {
              $('#' + $(this).attr('thisparent')).prop('checked', false);
          }
          else {
              $('#' + $(this).attr('thisparent')).prop('checked', true);
          }
      });
      $(".parent").change(function() {
          $('input[thisparent="' + $(this).attr('id') + '"]').prop('checked', $(this).prop('checked'));
      });
    });
    

    JSFiddle:here http://jsfiddle.net/dR84e/8/

    另外,你的html无效。你的“il”标签应该是“li”

    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

    复选框已全部单击 的相关文章

    • 为什么 Internet Explorer 不喜欢这个 jQuery?

      在调试一些在 IE 中不起作用的 jQuery 时 我发现了以下错误消息 var item item itemArray itemIndex find a text trim Object doesn t support this prop
    • 如何使用 java/vb 脚本调用自定义 ActiveX dll 中的方法

      我使用 VB6 创建了一个 ActiveX dll 并使用打包和部署向导将其打包 生成了一个 cab 文件和一个演示 HTML 页面 此 ActiveX dll 包含一个 simgle 方法 该方法返回字符串且不接受任何参数 我遇到的麻烦是
    • 等待 JavaScript 中 Json 调用完成

      我正在使用下面的json调用在我的 javascript 方法中 function go123 var cityName var temp getJSON https abc in api city callback args functi
    • 将数组中的所有值作为参数传递给函数

      我有一个值数组 a b c d 我需要将它们作为参数传递给函数 window myFunction a b c d 如果我可以将数组 对象传递到函数中 那么这会更容易 但这些函数是由其他人编写的或已经存在 我无法更改它们 它们需要作为单独的
    • 如何使用 JqGrid 子网格进行内联编辑?

      我知道如何使用主网格进行内联编辑 但是有没有办法对子网格进行内联编辑 这是我的 JS 文件 function var lastsel list jqGrid url example php postData q 1 datatype jso
    • 了解执行模型和事件循环

      我读过很多关于JavaScript单线程执行模型 事件循环和事件队列的文章 但有一件事尚不清楚 我创建了一个小提琴来说明我的问题 http jsfiddle net yzpmf67f http jsfiddle net yzpmf67f
    • JavaScript 中的 Promise.all:如何获取所有 Promise 的解析值?

      我编写了以下node js文件 var csv require csv parser var fs require fs var Promise require bluebird var filename devices csv var d
    • 如何使用 jquery 从 iframe 内部滚动?

      我正在使用一个 Shadowbox 它生成一个 iframe 以在页面上显示产品详细信息 由于详细信息页面可能相当长 因此客户端需要一个 更多 按钮来向下滚动页面 显然 iframe 右侧的滚动条还不够 这是我为了让 iframe 滚动而尝
    • 如何滚动到 jQuery Mobile 中的页面元素?

      我有一个很长的 jQuery 移动页面 并且想在页面加载后滚动到该页面中间的元素 到目前为止 我已经尝试了一些事情 最成功的是 jQuery document bind mobileinit function var target if t
    • 在 NPM 上捆绑并发布客户端 Web 代码

      我制作了一个 JavaScript 文件 假设它的内容是这样的 let myCoolAlert str gt alert str in a different js file SO doesn t allow you to cross fi
    • 获取键盘事件中的鼠标位置

      我试图在用户按住 Shift 键时出现选择轮 滚轮应以鼠标位置为中心 然而当我测试这个时 pageX and clientX两者在事件对象上都未定义 是否可以通过键盘事件获取鼠标坐标 不 只需跟踪mousemove事件并持续保存当前位置 以
    • 替换 Javascript 中的引号?

      对于我正在制作的网络应用程序 我将收到文本字符串 其中偶尔包含引号 因为我接下来要 document writing 字符串 所以需要将它们更改为撇号或转义 我该怎么做 因为当我尝试时它似乎不起作用 特别是我认为因为字符串的引号阻止了脚本的
    • 设计 Javascript 前端 <-> C++ 后端通信

      在我最近的将来 我将不得不制作一个具有 C 后端和 Web 前端的系统 要求 目前 我对此了解不多 我认为前端将触发数据传输 而不是后端 所以不需要类似 Comet 的东西 由于在该领域的经验可能很少 我非常感谢您对我所做的设计决策的评论
    • Rails - 使链接与 ajax 一起工作

      我有一个链接 应该使用 ajax 加载它旁边的部分内容 而无需重新加载页面 链接在这里 这是链接应该转到的控制器 class ProfilesController lt ApplicationController def profile f
    • 反转二进制网络

      如何反转二元方程 以便找到哪些输入将产生给定的输出 Example Inputs i0 through i8 Outputs o0 through o8 Operators XOR AND 二元方程 1 i0 1 i1 0 i2 1 i3
    • 单击窗口后才检测到 keydown

      在我的 Web 应用程序中 我有一个用于打开菜单的键的事件侦听器 仅当我单击页面上的任意位置后 此功能才可以正常工作 我尝试将焦点添加到窗口加载 但这仍然不会让 keydown 函数运行 直到我单击页面上的某个位置之后 有谁知道这是否可能
    • 可选链接在 create-react-app 中不起作用

      In a create react app项目 我正在使用 babel plugin proposal optional chaining在我的 babelrc中 但是 我有这个错误 Module parse failed Unexpect
    • 如何逐步绘制矢量路径? (拉斐尔.js)

      如何逐步动画化矢量路径 就像它被绘制一样 换句话说 慢慢地逐像素地显示路径 我在用着Rapha l js but如果您的答案不是特定于库的 例如可能有一些通用的编程模式可以完成此类事情 我对矢量动画相当陌生 欢迎 使用直线路径很容易做到 就
    • addEventListener keydown 不起作用

      我在互联网上找到了一些基本的 Pong 代码 并尝试添加按键 代码在这里 http cssdeck com labs ping pong game tutorial with html5 canvas and sounds http css
    • 截断段落前 100 个字符并隐藏段落的其余内容,以通过更多/更少链接显示/隐藏其余内容

      我有一个超过 500 个字符的段落 我只想获取最初的 100 个字符并隐藏其余部分 我还想在 100 个字符旁边插入 更多 链接 单击更多链接时 整个段落应显示并编辑文本 更多 到 更少 单击 更少 时 它应切换行为 段落是动态生成的 我无

    随机推荐

    • 为什么 parseInt(1/0, 19) 返回 18?

      我有一个恼人的问题JavaScript gt parseInt 1 0 19 gt 18 为什么parseInt函数返回18 的结果1 0 is Infinity https developer mozilla org en US docs
    • 如何在 SSIS 中设置 zip 文件的密码?

      我使用 SSIS 中的执行进程任务通过 7 zip 压缩了文件 现在我必须为 zip 文件设置密码 我该如何实现 我不认为这是一个 ssis 问题 你必须看看7zip 命令行用户指南 https sevenzip osdn jp chm c
    • 我如何告诉 Struts2 在表单第一次显示时不要验证表单?

      我目前正在尝试学习Struts2 我创建了一个表单 一个处理表单的操作 一个验证表单的 XML 以及 struts xml 中的操作 每次显示表单时 即使是第一次 Struts2 都会尝试进行验证 因此在用户有机会完成表单之前就会显示错误
    • Chai 无法识别内容类型“application/javascript”

      无论我的服务器实际返回什么 Chai 总是给我res body 如果内容类型是 application javascript 这是我的服务器 const http require http const server http createS
    • 在 Go 中将 unicode 代码点转换为文字字符

      假设我有一个这样的文本文件 u0053 u0075 u006E 有什么方法可以将其转换为这个吗 S u n 目前 我正在使用ioutil ReadFile data txt 但是当我打印数据时 我得到的是 unicode 代码点而不是字符串
    • WSO2 身份服务器外部 LDAP 因 OID 身份人员不存在而抛出 OBJECT_CLASS

      我正在使用 Identity Server 4 1 0 并且还在 Apache Directory Studio 中运行 ApacheDS 所以我现在想要的是将我的 IS 连接到外部 LDAP IS 与 ldap 的连接良好 只是由于缺少属
    • 多个事件的 Gmail 标记

      我正在使用 json ld 开发事件标记 以包含在确认电子邮件中 我的一些事件会定期重复发生 但是 最新的 Schema org 规范不支持重复事件 因此我遵循了此处提供的建议 http lists w3 org Archives Publ
    • ORACLE/ASP.NET:ORA-2020 - 数据库链接太多......是什么原因造成的?

      这是场景 我们有一个运行最新版本 ODAC Oracle 客户端 的内部网站 它打开数据库连接 运行存储过程或打包方法 然后断开连接 连接池已打开 目前我们的开发和测试环境均处于 11g 版本 但生产环境处于 10gR2 版本 这种情况发生
    • 从 IE 中 HtmlElement 的 Dom 获取 IHTMLStyle3

      我在窗体上有一个 System Windows Form WebBrowser 控件 我将该浏览器对象导航到一个网址 页面加载完成后 我想分析加载的页面的各个方面 我特别感兴趣的是在 IHTMLStyle3 接口上找到的属性 writing
    • Selenium WebDriver C# 使用 ChromeDriver 和 FirefoxDriver 的完整网站屏幕截图

      当我使用 ChromeDriver 截取屏幕截图时 我会得到与我的视口大小相同的屏幕 当我使用 FirefoxDriver 截取屏幕截图时 我得到了我想要的 即网站的全屏打印 ChromeDriver 声明如下 IWebDriver dri
    • 如何将 .NET Compact Framework 添加到智能设备 CAB 项目中?

      我正在开发一个 VS2008 智能设备应用程序 其中包含用于部署的智能设备 CAB 项目 我惊讶地发现此安装程序项目在必要时不会安装 NET Compact Framework 可以这样做吗 这可以通过一些工作来完成 看自动将多个 CAB
    • 如何使用 jquery 清除文本区域

      这个问题已经得到解答 但为了将来的参考 这里有一个完整的例子 您可以根据需要多次单击 添加 按钮和 清除 按钮 它就会起作用 但是 一旦您在文本框中输入内容 清除和添加按钮就不起作用
    • 正确使用电子

      我想进入 Electron 并且我已经开始学习它 但是我认为我不太明白应该如何使用它 根据我收集的信息 使用 Electron 我能够创建跨桌面应用程序 铬 with HTML CSS 和 JavaScript并在后台执行任务 NodeJS
    • 返回 void* 的 C++/C 函数指针

      我正在尝试调用一个带有参数的函数 void void int const char 但我不知道如何将这些参数传递给函数 Example void ptr int int function int int void int 我试图像这样调用该
    • 如何在 CodeIgniter 中检查请求是否是通过 AJAX 发出的?

      如何检查请求是否是 AJAX 我正在使用 CodeIgniter 我有一个链接 当它单击时 它将打开弹出对话框窗口 这是通过 ajax 请求控制器名称来完成的login window 代码点火器 Here is the controller
    • pip 未能为 scipy 构建轮子

      我刚刚下载了新的python 3 8我正在尝试安装scipy使用以下内容进行封装 pip3 8 install scipy 但是构建失败并出现以下错误 Failed to build scipy ERROR Could not build
    • 如何重构这个?

      我试图重构这个 class AClass string Property1 get set string Property2 get set string Property3 get set void AMethod AClass othe
    • symfony2主义选择IFNULL

      好的 我有这个代码 SELECT IFNULL s2 id s1 id AS effectiveID IFNULL s2 status s1 status AS effectiveStatus IFNULL s2 user id s1 us
    • dplyr: case_when 涉及很多情况

      我有两个数据框 set seed 002 data1 lt data frame cbind a1 sample letters 8 replace TRUE a2 rpois 8 10 stringsAsFactors FALSE dat
    • 复选框已全部单击

      我想在单击任何子项时选择父项 这段代码正在检查和检查 function child on click function parent this prevAll parent if this is checked parent prop ch