gpt4 book ai didi

javascript - 如果 'input[type=' 隐藏,则不要将项目保存到数组'] :first' is undefined

转载 作者:行者123 更新时间:2023-12-03 12:08:32 25 4
gpt4 key购买 nike

此代码获取表中的所有数据行,但是,如果第一个隐藏输入不包含文本,我不想将项目保存在数组上

 $('.save').on("click",function(){    
var array = $.map($('table tr'), function (val, i) {
var obj = {}, inputs = $(val).find('td input[type='hidden'],input[type='text'],select');
obj[inputs.filter('input[type='hidden']:first').val()]
= $.map(inputs.not('input[type='hidden':first'),
function (val, i) {
return val.value;
});
return obj;
});
var data = JSON.stringify(array);
});

这是我的数组的示例结果:

[{"add":["orange","1","Yes"]}[{"":["apple","2","Yes"]}]

注意第二项,它包含空(不是“添加”),我不希望它保存在我的数组中。非常感谢任何帮助。

参见FIDDLE这里

最佳答案

试试这个:

var array = $.map($('table tr'), function (val, i) {
var obj = {},
inputs = $(val).find('td input[type=\'hidden\'],input[type=\'text\'],select');
var inputVal = inputs.filter('input[type=\'hidden\']:first').val();
if (inputVal.length) {
obj[inputVal] = $.map(inputs.not('input[type=\'hidden\']:first'),
function (val, i) {
return val.value;
});
}
return obj;
}).filter(function (val) {
return !$.isEmptyObject(val)
});

如果您想排除空数组,则必须在map调用后运行过滤器

关于javascript - 如果 'input[type=' 隐藏,则不要将项目保存到数组'] :first' is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25072925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com