JQuery serialize()方法不忽略一些表单控件

JQuery serialize() method not ignoring some form controls

本文关键字:表单 控件 serialize 方法 JQuery      更新时间:2023-09-26

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

我有一个由文本框、单选按钮和复选框组成的表单。我不得不忽略-搜索文本框(如果有的话)和单选按钮,但包括休息。这是我一直尝试的:

//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。

,在选择器中的工作方式类似于"or "。这意味着输入可以满足任何条件。

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

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

你可以同时使用多个被否定的属性选择器。我想你在找

input[type!=radio][name!="txtSearch"]
http://jsfiddle.net/2xnFV/1/