Javascript 从数组多键名称中删除字符串
我有一个表单,所有表单字段的名称都以一个准备好的“家族”开头。例如:Javascript 从数组多键名称中删除字符串,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个表单,所有表单字段的名称都以一个准备好的“家族”开头。例如: Family.Name Family.LastName 我需要转换的内容: Name LastName 现在我想删除“家族”。如果存在,在使用serializeArray()jquery函数发送到服务器之前。 这是我目前的代码: var formData = $('#FamilySpouseCreate').serializeArray(); $.ajax({
Family.Name
Family.LastName
我需要转换的内容:
Name
LastName
现在我想删除“家族”。如果存在,在使用serializeArray()jquery函数发送到服务器之前。
这是我目前的代码:
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();
$.each(formData, function(i, item) {
item.name = item.name.replace("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);
}
});
小提琴手
或
如果您只想重命名字段名。您可以这样做:
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);
}
});
可以这样尝试:var formData=$(“#FamilySpouseCreate”).serializeArray();formData.map((item)=>{item.name=item.name.slice(item.name.indexOf('.')+1);return item;})