Jquery 查找以某些文本开头的数组值
我有一些动态生成的表单字段,我使用了jquery数组序列化,我在发布后得到了这些数据Jquery 查找以某些文本开头的数组值,jquery,Jquery,我有一些动态生成的表单字段,我使用了jquery数组序列化,我在发布后得到了这些数据 results_English ::-value 10 results_Science ::-value 20 results_Geography ::-value 30 results_History ::-value 40 results_Drawing ::-value 50 results_Architecture ::-value 60 我用过这个代码 var dataArr
results_English ::-value 10
results_Science ::-value 20
results_Geography ::-value 30
results_History ::-value 40
results_Drawing ::-value 50
results_Architecture ::-value 60
我用过这个代码
var dataArray = $('#er').serializeArray();
len = dataArray.length,
dataObj = {};
for (i=0; i<len; i++) {
console.log(dataArray[i].name+" ::-value "+dataArray[i].value);
var arr = dataArray[i].name;
};
但是它返回0
如何找到从结果开始的值,并使用_之后的部分创建新数组?您说的是“以开头的字段”,但您正在检查精确匹配。还有一个对象数组,因此a
是一个对象而不是字符串。您应该检查对象的名称
属性
var r = jQuery.grep(arr, function(a) {
return a.name.indexOf('results_') === 0;
}).length;
非常清楚,没有一个键是
==
到'results'
。。。尝试使用indexOf()。方法名称是indexOf
而不是indexOf
。
var r = jQuery.grep(arr, function(a) {
return a.name.indexOf('results_') === 0;
}).length;