Работая над проектом, вы столкнетесь с динамическим получением детских параметров на основе родительских параметров и перечисления нескольких флажков. При отправке объедините выбранных в одного персонажа и отправьте их на фоновой речь.
Эта глава расскажет вам, как реализовать эту операцию с помощью управления JS:
1: Разработка родительской категории как радио, добавьте событие OnClick в каждое радио, а категория 1 по умолчанию - состояние выбора.
<input type = "fackbox" name = "selectall" id = "selectall" onclick = "selectall ();" проверено = "проверено"/> выберите все <br> <input type = "radio" name = "lb" id = "lb" value = "1" onclick = "getzlb (1);" проверено = "проверено"/> категория 1 <input type = "radio" name = "lb" id = "lb" value = "2" onclick = "getzlb (2);"/> категория 2 <input type = "radio" name = "lb" id = "lb" value = "3" onclick = "getzlb (3);
2: Когда страница загружается изначально, подкатегория должна отображаться в соответствии с выбранной родительской категорией. При нажатии на кнопку также следует получить подкатегорию, поэтому она записывается как тот же метод и вызывается после завершения загрузки страницы.
window.onload = getzlb ();
3: Получите метод JS подкатегории, динамически получайте фоновые данные с помощью метода AJAX
/** * Получить подкатегорию и отобразить ее после завершения загрузки страницы */function getzlb () {// Получить var obj = document.getElementsbyname ("lb"); for (var i = 0; i <obj.length; i ++) {if (obj [i] .cecked) {getzlbnews (obj [i] .value); }}} function getzlbnews () {(получить данные типа карты через Ajax; возвращать данные в результате, формат json) var json = eval ("("+result+")"); // конвертируется в объект json // Получить область, которая будет отображаться подтипом var parent = document.getElementbyId ('xsqy'); // Поместите субрегион пустой, чтобы предотвратить parent.innerhtml = ''; var p = 0; var span = ""; // Проверьте все документы.getElementById ("selectall"). Checked = true; для (var i in json) {p ++; span = "<span style =/" Display: Inline Block; Ширина: 75px;/"> <input type =/" fackbox/"checked =/" onclick =/"checkselectall ();/" name =/"zlb/" value =/""+i+"/"> "+json [i]+" </span> "; // Когда существует более 11 поля под проверки, то Newline if (p%11 == 0) {span = span+"<br>"; } // Добавить ящики под проверки один за другим в субподиный родитель. Innerhtml = parent.innerhtml+span; }}4: фоновая логика,
/ ** * Карта карты возврата карты <code, name> * @return */ public String getzlb () {map <integer, string> zlb = service.getzlb (); // преобразовать карту в формат json json a = jsoneserializer.tojson (zlb); вернуть a.toString (); }5: JS управляет логикой, следует ли выбрать все и выбрать все и как объединить выбранную код при отправке
/ ** * Выберите All или отмените все */ function selectalldz () {var facebox = document.getelementsbyname ("zlb"); for (var i = 0; i <fackboxs.length; i ++) {// контролировать, выбрана ли подкатегория на основе того, выбран ли выбранная кнопка для управления флажками [i] .Checked = document.getElementById ("selectAll"). Checked; }}/ ** * Определите, выбрана ли подкатегория все, если выбрана выбранная кнопка All, в противном случае кнопка «Выбрана All» не выбрана */ function checkselectall () {var facebox = document.getElementsbyname ("zlb"); var isselectall = true; for (var i = 0; i <fackboxs.length; i ++) {if (флажки [i] .cecked == false) {isselectall = false; }} if (isselectall == false) {document.getElementById ("selectAll"). checked = false; } else {document.getElementById ("selectAll"). checked = true; }}/*** Сплайс выбранные идентификаторы и разделить их с запятыми*/function getAllidstr (checkName) {var select = document.getElementsbyname (checkName); var idstr = new Array (); for (var i = 0; i <select.length; i ++) {if (select [i] .cecked == true) {idstr = idstr.concat (select [i] .value); }} return idstr.join (',');}6: При выполнении следующей операции, если вы отправите, переверните все выбранные в один символ и назначьте ее скрытую текстовое поле, чтобы отправить его на фон
// Вызовите метод идентификатора сплайсинга и пропустите имя элемента, который будет управляться через var allzlb = getAllidstr ('zlb'); // Создать скрытое текстовое поле, назначить сплайсированной его и использовать его для получения document.getElementbyId ('allzlbstr'). Value = allzlb;Выше всего личное мнение. Если у вас есть лучшие решения, пожалуйста, дайте мне знать.
Выше приведено полное содержание метода реализации динамического получения опций суб-комплекса и проектирования всех выборов и представлений, предоставленных вам. Я надеюсь, что все будут поддерживать wulin.com больше ~