Удалить строку из массива с несколькими ключами - PullRequest
0 голосов
/ 03 марта 2019

У меня есть форма, имя которой во всех полях формы начинается с подготовленного «Семейства».например:

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».Префикс из имени индекса массива?

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Я думаю, это то, что вам нужно:

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 демо

ИЛИ

Если вы простохочу переименовать имя поля.Вы можете сделать это так:

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);
    }
});
0 голосов
/ 03 марта 2019
var formData = $('#FamilySpouseCreate').serializeArray();
$.each(formData, function(i, item) {
    item.name = item.name.replace("Family.", "");
});

Пример: https://jsfiddle.net/s18nfeq6/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...