jquery «serialize» и «formSerialize» не сериализуют опции, добавленные для выбора элемента на стороне клиента - PullRequest
0 голосов
/ 13 июля 2011
var d = $('form[name=aspnetForm]').formSerialize();
$.ajax({
  type: "POST",
  data: d
});

У меня есть ListBox с множественным выбором, к которому динамически добавляются опции на стороне клиента.ListBox: -

 <select size="4" name="sel" multiple="multiple" id="sel">

Я получаю каждый элемент в форме, кроме ListBox.Items.Count равен нулю.

Как я могу сериализовать ListBox вместе с другими полями, даже если ни одно изпараметры выбраны (я хочу сериализовать каждую опцию в этом ListBox, чтобы все опции, добавленные на стороне клиента, были доступны на стороне сервера).

1 Ответ

1 голос
/ 13 июля 2011

Вы должны написать собственный код для сериализации всех опций. Одним из способов является создание простого объекта js с текстом и значением для каждой опции списка, а затем преобразование этого массива в строку с использованием сериализации JSON.Вы можете передать эту строку JSON на сервер через скрытое поле.На стороне сервера у вас есть сериализаторы JSON (JavascriptSerializer, DataContractSerializer), которые вы можете использовать для анализа данных опций.

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