我有一个带有表单的JSP页面。当我提交表单时,它会构建并生成一个JSON字符串,我使用。
执行AJAX帖子我有一个问题,我需要从表单中获取多个值,并且我使用以下内容来执行此操作:
.find('input[name=item1])
.not('input[type=hidden]')
如何获取名称为item1,item2和item3的输入?
我尝试了这个,但它不起作用?
.find('input[name=item1][name=item2][name=item3]')
以下是我的代码:
// Create JSON based data object
$.fn.serializeObject = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
// Form Submission
$('#form').submit( function() {
// Create data array, used for building request message
var data = {
request: {
requestType: "request",
fields: [ {
itemX1 : '1',
itemX2 : '2',
itemX3 : '3'
} ]
}
};
// Create field array based variables for request message
var fields = {
fields: [ {
itemX1 : null,
itemX2 : null,
itemX3 : null
} ]
};
// Get reqired data from the form submitted
fields = $('#form')
//.find('input')
.find('input[name=lmBtId][name=my]')
.not('input[type=hidden]')
.serializeObject();
// Set the field array variables with data
fields.itemX1 = '1';
fields.itemX2 = '2';
fields.itemX3 = '3';
// Update data array with newly updated field array
data.request.fields = [fields];
var finalData = JSON.stringify(data);
答案 0 :(得分:2)
你可以试试这个
.find('input[name^=item]');
它将选择名称以item开头的所有输入。
如果包含任何内容,您可以使用
获取属性值.find('selector[propname*=containingvalue']);
如果想选择以
结尾的值.find('selector[propname$=endwith']);
答案 1 :(得分:2)
$('input[name="test"], input[name="test2"]').each(function() {
alert(this.value);
});
这是JSFIDDLE
答案 2 :(得分:2)
此页面将提供有关选择器的信息,
http://api.jquery.com/multiple-selector/
请试试这个
.find('input[name=item1],[name=item2],[name=item3]')
为每个人添加一些东西,
.each(function(){
//code here
});