Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.05.2016, 02:20
Аспирант
Отправить личное сообщение для DarknesS Посмотреть профиль Найти все сообщения от DarknesS
 
Регистрация: 06.05.2016
Сообщений: 41

Несколько 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>";



Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 06.05.2016, 07:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Вот это 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 это одна строка без мусора, посмотреть же структуру кода можно и в отладчике.

Насчет открываться вместе, то что бы это значило - они есть на странице уже или же списки динамические, построение каждого, это предварительный запрос сервера?
Ответить с цитированием
  #3 (permalink)  
Старый 06.05.2016, 19:32
Аспирант
Отправить личное сообщение для DarknesS Посмотреть профиль Найти все сообщения от DarknesS
 
Регистрация: 06.05.2016
Сообщений: 41

Спасибо что помогаете)

К примеру в базу внести нужно несколько городов одной страны.
Т.е при выборе России 2 последующих селекта должно автоматически открыться. на данный момент открывается 2-ой селект. и данный пост был вопросом как открывать последующие селекты. 3,4, 5 и т.д.
Ответить с цитированием
  #4 (permalink)  
Старый 06.05.2016, 20:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от DarknesS
Т.е при выборе России 2 последующих селекта должно автоматически открыться.
Почему 2, а к при меру не 20? )

Я задал вопрос о списках, что они из себя представляют, ответа нет. Кода исходного этих списков также нет. То что показано, это не списки даже, это так и с массой ошибок, и что вы ожидаете в ответ?

Есть понятие "связанные списки", пусть это регионы. Если выбрали страну в списке стран, то можно получить список следующий - республик, а выбрав в нем республику - следующий список, список областей, и так далее пока не получим список адресов нужного города.

При этом списки могут быть уже на клиенте, но это если объем данных мал, а для регионов, это слишком много, поэтому каждый последующий список запрашивается у сервера асинхронным запросом, а что запрашивается, определяется выбором в предыдущем списке. На сервере в базе эти данные хранятся в связанных по ключам таблицах.

Чего там у вас, почему 2 и чего 2, и как это связано не понять, а значит и что-то ответить конкретно невозможно.
Ответить с цитированием
  #5 (permalink)  
Старый 06.05.2016, 20:20
Аспирант
Отправить личное сообщение для DarknesS Посмотреть профиль Найти все сообщения от DarknesS
 
Регистрация: 06.05.2016
Сообщений: 41

Хорошо, покажу на скриншоте

За основу взял код "связанных списков". т.е города связаны с со странами, в данном случае. подкатегории связаны с категорией

При выборе категории фильм. должно открываться все селекты.
Подкатегория подразумевает в моем случае - жанры.
Ответить с цитированием
  #6 (permalink)  
Старый 06.05.2016, 21:32
Аспирант
Отправить личное сообщение для DarknesS Посмотреть профиль Найти все сообщения от DarknesS
 
Регистрация: 06.05.2016
Сообщений: 41

Решил проблему продублировав js код и прописав в onchange onchange=\"getCityList(this);getCityList2(this);
Ответить с цитированием
  #7 (permalink)  
Старый 07.05.2016, 04:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от DarknesS
Подкатегория подразумевает в моем случае - жанры.
Жанры у вас, это один список (раскрытый), а фильмы выбранного жанра, это тоже один список, а не несколько.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При повторении несколько раз animate - рассинхрон... Petja jQuery 4 21.05.2013 12:58
AJAX несколько элементов на странице... myocean AJAX и COMET 2 12.11.2012 12:27
AJAX несколько элементов на странице... myocean jQuery 3 12.11.2012 00:00
Несколько созданных элементов располагаются в одной строке. Как этого избежать? Hold Events/DOM/Window 1 21.01.2011 23:52
Несколько одинаковых таблиц. Обращение к отдельным элементам в них. zaytsewa Элементы интерфейса 7 11.11.2010 09:08