我的html表单设计为以下结构
<ul>
<li><input type='checkbox' value='car' name='menu[]' value='vehicle'>Sports
<ul>
<li><input type='checkbox' name='submenu[vehicle][car]'>Car</li>
</ul>
</li>
</ul>
我需要在jquery中访问二维数组的索引。第一个索引将是其父li
的输入值,并且该值存储在jquery变量中,如下所示(在代码段中),如何访问数组的第二个索引?我需要这样的jQuery
var menu = vehicle
var submenu = car
以下示例将有助于阐明问题。
$(document).ready(function() {
$(document).on('change', 'input[name="menu[]"]', function() {
var nav = [];
$("input[name='menu[]']:checked").each(function() {
nav.push(this.value);
});
alert(nav);
// What can I --
var subnav = [];
$("input[name='submenu[][]']:checked").each(function() {
subnav.push(this.value);
});
alert(subnav);
});
// -- do here to get index not value ?
$('[name="submenu[][]"]').parent().each(function() {
if ($(this).children("ul").length) {
$(this).parents('[name="menu[]"]').click(false);
}
})
$('li:has(> ul)').find('[name="menu[]"]').click(false);
$('[name="menu[]"] + ul input').click(function() {
$(this).closest("ul").prev("input").prop("checked", ($(this).closest("ul").find("input:checked").length > 0));
});
});
ul li {
list-style: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<head>
</head>
<body>
<ul>
<li><input type="checkbox" value='sport' name='menu[]'>Sports</li>
<li><input type="checkbox" value='vehicle' name='menu[]'>Vehicle
<ul>
<li><input type='checkbox' value='car' name='submenu[vehicle][car]' value='car'>Car</li>
<li><input type='checkbox' value='car' name='submenu[vehicle][bike]' value='car'>Bike</li>
</ul>
</li>
</ul>
</body>
</html>