Aetae,
по пробовала но скрипт не реагирует не заполняет не один селект :( |
если я хоть чуть чуть понимаю))) то мне кажется это событие не срабатывает
var selects = document.getElementsByTagName('select'), i = selects.length; while(i--){ if(selects[i].onchange){ selects[i].onchange(); } } |
Странно. Этот скрипт должен заменить предыдущий, возможно вы просто его добавили?
|
Aetae,
я заменила на 2 странице это window.onload = function(){ if(location.search){ var txt = JSON.parse( decodeURI( location.search.slice(1) ) ); var options = document.getElementsByTagName('option'), i = options.length; while(i--){ if(txt.indexOf( options[i].innerHTML.trim() ) !== -1){ options[i].selected = true; } } } } На это window.onload = function(){ if(location.search){ var txt = JSON.parse( decodeURI( location.search.slice(1) ) ); var selects = document.getElementsByTagName('select'), i = selects.length; while(i--){ if(selects[i].onchange){ selects[i].onchange(); //искусственно вызываем change } } var options = document.getElementsByTagName('option'), i = options.length; while(i--){ if(txt.indexOf( options[i].innerHTML.trim() ) !== -1){ options[i].selected = true; } } } } не чего не изменяла не редактировала как вы мне посоветовали! Но если убрать то все начинает работать кроме 3 селекта var selects = document.getElementsByTagName('select'), i = selects.length; while(i--){ if(selects[i].onchange){ selects[i].onchange(); } } |
Тогда напрямую:
window.onload = function(){ if(location.search){ var txt = JSON.parse( decodeURI( location.search.slice(1) ) ); var select = document.getElementById('swF_fl'); if(select.onchange){ select.onchange(); //искусственно вызываем change } var options = document.getElementsByTagName('option'), i = options.length; while(i--){ if(txt.indexOf( options[i].innerHTML.trim() ) !== -1){ options[i].selected = true; } } } } |
Aetae,
Сейчас попробую также прочтите ЛС :thanks: |
Aetae,
Работаю первый два селекта 3 по прежнему выдает черточку возможно ли с вами связаться вконтакте или еще где либо? показать вам сайт возможно есть какие то ньюансы? а то боюсь тут ругаться за флуд начнут ;) |
В личку пишите адрес, посмотрю.
|
window.onload = function(){ if(location.search){ var txt = JSON.parse( decodeURI( location.search.slice(1) ) ); var selects = [].slice.call(document.getElementsByTagName('select')), //создаём массив из select'ов i = selects.length; //количество селестов while(i--){ //перебираем все селекты на странице(в лучше наверное перебирать конкретные, чтобы не было коллизий) var options = selects[i].getElementsByTagName('option'), //получаем options текущего select j = options.length; while(j--){ //перебираем option if(txt.indexOf( options[j].innerHTML.trim() ) !== -1){ //если значение совпадает с одним из переданных в адресе значений options[j].selected = true; //выбираем его $(selects[i]).trigger('change'); //вызываем событие change через библиотеку jquery selects.splice(i,1); //удаляем отработанный select из массива i = selects.length; //чтобы перебор select начался сначала break; //прервыем перебор option } } } } } |
Aetae,
Спасибо :thanks: |
Часовой пояс GMT +3, время: 03:14. |