【发布时间】:2019-06-07 15:24:09
【问题描述】:
我正在开发应用程序来选择基于角色的菜单。在那,我有父子复选框,我想将复选框选中的值检索为 1, 1.1, 1.2, 2, 3 但当前的 jQuery 返回为 1, 1, 2, 2 , 3.
我用谷歌搜索了很多东西,也实现了一些,但不知道父子检查值的选择。
HTML
<ul>
<li><input class="check_box" type="checkbox" value="1">Upload
<ul>
<li><input class="check_box" type="checkbox" value="1">Large </li>
<li><input class="check_box" type="checkbox" value="2">Small </li>
</ul>
</li>
<li><input class="check_box" type="checkbox" value="2">Move</li>
<li><input class="check_box" type="checkbox" value="3">Producs</li>
<li><input class="check_box" type="checkbox" value="5">User</li>
</ul>
jQuery
$('.check_box:checked').map(function () { return this.value; }).get().join(',')
复选框选择
电流输出
1、1、2、2、3
预期输出
1、1.1、1.2、2、3
【问题讨论】:
-
我会适当地设置
input值,这样就不需要破译任何东西,或者编写错误的数据收集脚本。value="1"、value="1.2"等 -
我已经删除了我原来的 cmets,但是要添加到 @Dbro 的评论中,如果您无法更改
value,您可以添加数据属性(data-value="1",data-value="1.2")而是使用它们 -
因为你有一个多层次的结构,但是 map 得到 ALL OF ITEMS 没有嵌套层次。