Постоянный выбор Многоэлементные записи списка
У меня есть HTML-форма. После отправки мне нужно, чтобы выбранные элементы для каждого элемента формы оставались выбранными. Это работает для переключателей, флажков, раскрывающихся списков, но не для моего списка множественных выборок. Мне также нужна эта возможность, чтобы я мог передавать данные формы в функцию jquery для выполнения других задач. Процесс работает на других страницах без списков множественного выбора. Я использую серверную часть Django и обычно делаю "цикл for" или "оператор if" для проверки выбора пользователя. Я могу получить выделение в виде списка из моего javascript, но на сетевой панели Chrome он отображает элементы списка в виде отдельных переменных формы. Какой способ получить это форматирование?
Обновление jfiddle, предоставленный meni181818, должен работать, и я думаю, что это правильное направление. Однако я обновил свою страницу, чтобы включить только этот код, и он не работает. Я могу скопировать код в jfiddle и заставить его работать, но не на моей странице. Я не уверен, что это проблема с Django. Единственный дополнительный код на странице:
<head>
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
2 ответа
Вы можете получить все выбранные элементы в виде массива:
arrVal = $("select").val();
и в JSON:
JSON.stringify(arrVal);
если вы хотите, вы можете вернуть его в формате JSON и разобрать в массив с помощью js\jq:
var arrJson = JSON.parse(THE_JSON_STRING);
и установите выбранные элементы:
$("select").val(arrJson);
получить и установить демо: http://jsfiddle.net/ZA82M/2/
Метод, предоставленный meni181818, работает для меня. Мне пришлось изменить некоторые вещи из-за моих конкретных потребностей. Я использовал скрытые входы вместо
тег, который означал изменение.text() на.val(). Мне нужно было сделать это, чтобы я мог передать значения через мой бэкэнд Django и сохранить их после публикации формы.