我想从序列化中排除带有空值的选择。
我正试图这样做:
var form = $('#myForm');
var str = $(':not(select[value=""])', form).serialize();
没有错误,结果就是整个表格。 not()方法给出了相同的。
可能有什么问题?
编辑:我列出的可能与我一样重复的问题询问有关排除空字段frm序列化的可能实现,而我的说明not() Selector
不起作用,询问为什么和与上述解决方案不同。
答案 0 :(得分:3)
哪个过滤元素属性value
的元素等于空字符串而不是具有当前值的元素为空字符串。
filter()
方法。
var str = $(':input', form).filter(function(){
return this.value.trim() != '';
}).serialize();
<小时/> 更新:如果您只是想避免使用空的
select
标签,请执行以下操作。
var str = $(':input', form).filter(function(){
return !($(this).is('select') && this.value.trim() == '');
}).serialize();