1

我正在尝试序列化表单元素以检查脏数据。当我尝试包含我想在序列化过程中忽略的控件时,它会停止工作。

我有一个由文本框、单选按钮和复选框组成的表单。我必须忽略 - 搜索文本框(如果有)和单选按钮,但包括休息。这是我到目前为止所尝试的:

//this serializes all the controls, ignores my filter
//var output = $('input[name!="txtSearch"], input[type=text], input[type!=radio]').serialize();

//this serializes all textboxes including search textbox and checkbox
//var output = $('input[type=text], input[type!=radio]').serialize();

//this serializes all textboxes and checkboxes including search textbox
var output = $('input[type=text], input[type=checkbox]').serialize();
$("#result").html(output);

我在这里错过了什么吗?这是我正在研究的jsFiddle 。

4

1 回答 1

3

,在选择器中的作用类似于“或”。这意味着输入可以满足任何条件。

input[name!="txtSearch"], input[type=text]

...仍然会接受txtSearch,因为它满足选择器的第二部分。同样,任何类型的输入(包括radio未命名的输入)都txtSearch满足第一个。

不过,您可以同时使用多个否定属性选择器。我想你正在寻找

input[type!=radio][name!="txtSearch"]

http://jsfiddle.net/2xnFV/1/

于 2013-05-15T16:39:52.060 回答