[[X,Y,Z],[A,B,C]]
$(".btn-primary").click(function () {
var nbrOfList = 2; // number of item went to remove
var _data1 = $('#listAllEmp').val(); // default value
var _data2 = eval("[" + _data1 + "]"); // convert as array
var itemtoRemove = _data2[nbrOfList-1]; // itemtoRemove from array
_data2.splice($.inArray(itemtoRemove ,_data2),1); // Remove from array
jQuery('#listAllEmp').val('[' + _data2 + ']'); // new value after remove
$('p').text('[' + _data2 + ']')
});

<input type="hidden" name="" id="listAllEmp" value='["job name 1","nat 1"],["job name 2","nat 2"],["job name 3","nat 3"]' />
<a title="" class="btn btn-primary" href="javascript:void(0);">remove 2 item</a>
<p></p>
&#13;
答案 0 :(得分:0)
jQuery('#listAllEmp').val(JSON.stringify(_data2));
$('p').text(JSON.stringify(_data2))
和JSON.parse而不是eval(使用eval不是一个好习惯)
JSON.parse('[["job name 1","nat 1"],["job name 2","nat 2"],["job name 3","nat 3"]]')
答案 1 :(得分:0)
用于数组转换的输入值的简单且正确的正则表达式解决方案。然后在删除或插入一个简单的地图实现之后,将值返回到要插入DOM元素的字符串中。
因此,一旦拥有此数组,您就可以通过事件侦听器删除或添加项目,并将其插回到元素的value属性中。好的,我们假设我们要删除索引1处的项目。请参阅以下代码
var _data1 = '["job name 1","nat 1"],["job name 2","nat 2"],["job name 3","nat 3"]',
reg = /([^"]+)","([^"]+)/g,
_data2 = [];
while(_data2[_data2.length]=reg.exec(_data1));
_data2 = _data2.slice(0,-1).map(c => c.slice(1,3)); // now we have our array in _data2
document.write("<pre>" + JSON.stringify(_data2) + "</pre>\n");
_data2.splice(1,1); // item at index 1 is removed from _data2
_data1 = _data2.map(e => "[" + e + "]").join(","); // _data1 is ready to be sent to value
document.write("<pre>" + JSON.stringify(_data1) + "</pre>\n");
&#13;
答案 2 :(得分:0)
从数组中删除项目您可以执行以下操作:
var y = [1, 2, 2, 3, 2]
var removeItem = 2;
y = jQuery.grep(y, function(value) {
return value != removeItem;
});
结果:
[1, 3]