我有一个表单,我的所有表单字段名称都以准备好的“家庭”开头。例如:
Family.Name
Family.LastName
我需要转换的内容:
Name
LastName
现在我想在使用 serializeArray() jquery 函数发送到服务器之前删除 "Family." 如果存在。 这是我当前的代码:
var formData = $('#FamilySpouseCreate').serializeArray();
$.ajax({
type: 'Post',
url: '/Profile/SpouseCreate',
data: formData,
success: function() {
window.location.reload();
},
error: function(xhr) {
errorHandler(xhr);
}
});
如何修改 formData 以删除“Family”。从数组索引名称前面添加?
最佳答案
我认为这就是您所需要的:
var formData = $('#FamilySpouseCreate').serializeArray();
var dataObj = {};
$.each(formData, function(i, field){
fieldName = field.name.replace('Family.', '');
dataObj[fieldName] = field.value;
});
$.ajax({
type: 'Post',
url: '/Profile/SpouseCreate',
data: dataObj,
success: function() {
window.location.reload();
},
error: function(xhr) {
errorHandler(xhr);
}
});
fiddler demo
或
如果您只想重命名字段名称。你可以这样做:
var formData = $('#FamilySpouseCreate').serializeArray();
$.each(formData, function(i, field){
field.name = field.name.replace('Family.', '');
});
$.ajax({
type: 'Post',
url: '/Profile/SpouseCreate',
data: formData,
success: function() {
window.location.reload();
},
error: function(xhr) {
errorHandler(xhr);
}
});
关于javascript - 从数组中删除字符串多个键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54968419/