Отключенные поля не подхватываются serializeArray
(Вопрос обновлен, чтобы отразить реальную проблему)
Я только понял, что serializeArray
не извлекает контент из отключенных полей.
Поля набора (улицы) заполняются путем выбора элемента из списка autosuggest
. Как только это будет сделано, поля будут отключены. Я мог бы изменить это на read only
, но я хочу, чтобы отключенный внешний вид, не меняя CSS.
Есть ли способ получить serializeArray
данные захвата fro, отключенные поля?
Решение
Благодаря Мохаммаду я создал небольшой плагин, который помогает мне решить мою проблему:
(Fiddle)
var form_data = $('form').serializeAll();
(function ($) {
$.fn.serializeAll = function () {
var data = $(this).serializeArray();
$(':disabled[name]', this).each(function () {
data.push({ name: this.name, value: $(this).val() });
});
return data;
}
})(jQuery);
Ответы
Ответ 1
Попробуйте это
var data = $('form').serializeAllArray();
И вот небольшой плагин, который используется
(function ($) {
$.fn.serializeAllArray = function () {
var obj = {};
$('input',this).each(function () {
obj[this.name] = $(this).val();
});
return $.param(obj);
}
})(jQuery);
Вы также можете попытаться включить весь свой элемент только для их сериализации, а затем отключить их после сериализации.
var myform = $('#form');
var disabled = myform.find(':input:disabled').removeAttr('disabled');
var serialized = myform.serializeArray();
disabled.attr('disabled','disabled');
Ответ 2
вы можете использовать readonly
serializeArray() может прочитать его.