http://jsfiddle.net/3kwchkf6/1/
$('[name^="item"]').each(function(){
if ($(this).prop('checked')) {
itemCheckedList.push($(this).attr('name'));
}
});
console.log(itemCheckedList);
嗨返回[“item [2001]”,“item [2090]”]
我希望它返回[2001,2090]
我在想,解决方案可能会以某种方式包含正则表达式或以某种方式序列化?感谢。
答案 0 :(得分:1)
您可以使用.substring()
<强> FIDDLE 强>
$('[name^="item"]').each(function(){
if ($(this).prop('checked')) {
var start = $(this).attr('name').indexOf('[')+1;
var end = $(this).attr('name').indexOf(']');
itemCheckedList.push($(this).attr('name').substring(start, end));
}
});
答案 1 :(得分:-2)
在没有看到HTML的情况下,选择器上不是100%,但验证是否已检查并将值推入数组的逻辑如下。
if (this.checked)
{
itemCheckedList.push($(this).val());
}
这对你有用。