输入[type='hidden']:first'是未定义的
Dont save item to array if 'input[type='hidden']:first' is undefined
这段代码得到了表中的所有数据行,但是,如果第一个隐藏输入不包含文本
,我不想将item保存在数组中 $('.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"]}]
注意第二项,它包含空(不是"add"),我不想在我的数组中保存它。如有任何帮助,不胜感激。
见此处
试试这个:
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)
});
如果要排除空的arrays
,则必须在map
调用后运行filter
。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Wordpress中带有JQuery Accordion的未定义匿名函数
- 输入[type='hidden']:first'是未定义的