Несколько id
Всем здравствуйте
Нужна небольшая помощь Есть кусок js кода <script type="text/javascript"> var ajax = new Array(); function getCityList(sel){ var countryCode = sel.options[sel.selectedIndex].value; document.getElementById('subcat').options.length = 0; if(countryCode.length>0){ var index = ajax.length; ajax[index] = new sack(); ajax[index].requestFile = 'city.php?country='+countryCode; ajax[index].onCompletion = function(){ createCities(index) }; ajax[index].runAJAX(); } } function createCities(index) { var obj = document.getElementById('subcat'); eval(ajax[index].response); } </script> Как сделать так чтобы при выборе первого селекта автоматически менялись и 2 последующих, как я понял нужен уникальный id, как присвоить его правильно, на данный момент при выборе первого селекта, открывается 2-ой связанный. 3-й как и 2-ой должен открываться с ним вместе $select_contry_city .= " / <select id=\"subcat\" name=\"subcat\">"; $select_contry_city .= "<option value=\"0\">Выберите подкатегорию</option>\n"; $select_contry_city .= "</select>"; $select_contry_city .= " / <select id=\"subcat\" name=\"subcat\">"; $select_contry_city .= "<option value=\"0\">Выберите подкатегорию</option>\n"; $select_contry_city .= "</select>"; Заранее спасибо |
Вот это sel.options[sel.selectedIndex].value, можно заменить на sel.value;
А вот это id=\"subcat\", а затем еще id=\"subcat\", неверно, нельзя помещать на страницу объекты с одинаковыми id. И name=\"subcat\">", и name=\"subcat\">", это как? Даже если вы используете Ajax, отправляя каждый элемент формы отдельно, то как сервер определит по одному и тому же имени источник запроса? В случае же обычной отправки формы вы получите значение последнего списка subcat. И лучше так: $select_contry_city .= ' / <select id="sub_1" name="subcat_?"><option value="0">Выберите подкатегорию</option></select>'; Это избавит парсер от бесполезного разбора строки. Для браузера \n не нужен, да и лучший HTML это одна строка без мусора, посмотреть же структуру кода можно и в отладчике. Насчет открываться вместе, то что бы это значило - они есть на странице уже или же списки динамические, построение каждого, это предварительный запрос сервера? |
Спасибо что помогаете)
К примеру в базу внести нужно несколько городов одной страны. Т.е при выборе России 2 последующих селекта должно автоматически открыться. на данный момент открывается 2-ой селект. и данный пост был вопросом как открывать последующие селекты. 3,4, 5 и т.д. |
Цитата:
Я задал вопрос о списках, что они из себя представляют, ответа нет. Кода исходного этих списков также нет. То что показано, это не списки даже, это так и с массой ошибок, и что вы ожидаете в ответ? Есть понятие "связанные списки", пусть это регионы. Если выбрали страну в списке стран, то можно получить список следующий - республик, а выбрав в нем республику - следующий список, список областей, и так далее пока не получим список адресов нужного города. При этом списки могут быть уже на клиенте, но это если объем данных мал, а для регионов, это слишком много, поэтому каждый последующий список запрашивается у сервера асинхронным запросом, а что запрашивается, определяется выбором в предыдущем списке. На сервере в базе эти данные хранятся в связанных по ключам таблицах. Чего там у вас, почему 2 и чего 2, и как это связано не понять, а значит и что-то ответить конкретно невозможно. |
Хорошо, покажу на скриншоте
![]() За основу взял код "связанных списков". т.е города связаны с со странами, в данном случае. подкатегории связаны с категорией При выборе категории фильм. должно открываться все селекты. Подкатегория подразумевает в моем случае - жанры. |
Решил проблему продублировав js код и прописав в onchange onchange=\"getCityList(this);getCityList2(this);
|
Цитата:
|
Часовой пояс GMT +3, время: 23:52. |