Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.02.2017, 16:48
Аспирант
Отправить личное сообщение для FredIkO Посмотреть профиль Найти все сообщения от FredIkO
 
Регистрация: 19.04.2013
Сообщений: 53

Данные с url
При переходе на новую страницу с url
(http://сайт.ком/фото/0-0-13597-4%5B"1920х1080"%5D)
в select автоматически выбирается пунк 1920х1080

<select name="filter1">
<option value="0" style="color:#A3A3A3">- выбрать -</option>
<option value="1">1920x1080</option>
<option value="2">1280x720</option>
</select>


window.onload = function(){
 if(location.search){
 var txt = JSON.parse( decodeURI( location.search.slice(1) ) );
 var selects = [].slice.call(document.getElementsByTagName('select')),
 i = selects.length;
 while(i--){ 
 var options = selects[i].getElementsByTagName('option'), 
 j = options.length; 
 while(j--){ 
 if(txt.indexOf( options[j].innerHTML.trim() ) !== -1){ 
 options[j].selected = true; 
 $(selects[i]).trigger('change'); 
 selects.splice(i,1); 
 i = selects.length;
 break; 
 }
 }
 }
 }
};


можно ли таким же образом привязаться к input?
подскажите пожалуйста что переписать в коде?

<input type="checkbox" name="filter1" value="1" id="fk11">
<label for="fk11">1920x1080</label>
<input type="checkbox" name="filter1" value="2" id="fk12">
<label for="fk12">1280x720</label>


заранее большое спасибо всем
Ответить с цитированием
  #2 (permalink)  
Старый 25.02.2017, 18:00
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от FredIkO Посмотреть сообщение
При переходе на новую страницу с url
(http://сайт.ком/фото/0-0-13597-4%5B"1920х1080"%5D)
в select автоматически выбирается пунк 1920х1080
Это не тот url - здесь нет location.search - значит ничего не выбирается.
Ответить с цитированием
  #3 (permalink)  
Старый 25.02.2017, 18:23
Аспирант
Отправить личное сообщение для FredIkO Посмотреть профиль Найти все сообщения от FredIkO
 
Регистрация: 19.04.2013
Сообщений: 53

Rise, прошу прощения, но в момент когда я захожу на страницу именно такой url
http://-----.com/photo/0-0-13597-4?%5B%221920x1080%22%5D

Последний раз редактировалось FredIkO, 25.02.2017 в 18:25.
Ответить с цитированием
  #4 (permalink)  
Старый 25.02.2017, 18:31
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

FredIkO, что разницы не видишь, часть url после знака ? и есть search.
.../0-0-13597-4%5B"1920х1080"%5D
.../0-0-13597-4?%5B%221920x1080%22%5D

Последний раз редактировалось Rise, 25.02.2017 в 18:34.
Ответить с цитированием
  #5 (permalink)  
Старый 25.02.2017, 19:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

FredIkO,
window.addEventListener("DOMContentLoaded", function() {
    if (location.search) {
        var b = JSON.parse(decodeURI(location.search.slice(1)))[0];
        [].forEach.call(document.querySelectorAll("label"), function(a) {
            -1 !== a.textContent.indexOf(b) && a.click()
        })
    }
});
Ответить с цитированием
  #6 (permalink)  
Старый 25.02.2017, 19:44
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

FredIkO, должно работать:
if (location.search) {
	var array = JSON.parse(decodeURIComponent(location.search.slice(1)));
	var elems = document.getElementsByTagName('label');
	var count = elems.length;
	var elem;
	while (count--) {
		elem = elems[count];
		if (array.indexOf(elem.textContent) > -1) {
			elem = document.getElementById(elem.htmlFor);
			if (elem) {
				elem.checked = true;
			}
		}
	}
}

рони, с несколькими значениями не будет работать.
Ответить с цитированием
  #7 (permalink)  
Старый 25.02.2017, 19:50
Аспирант
Отправить личное сообщение для FredIkO Посмотреть профиль Найти все сообщения от FredIkO
 
Регистрация: 19.04.2013
Сообщений: 53

Сообщение от FredIkO Посмотреть сообщение
Rise, прошу прощения, но в момент когда я захожу на страницу именно такой url
http://-----.com/photo/0-0-13597-4?%5B%221920x1080%22%5D
что в первый раз скопировал что второй раз скопировал с url строки но почему то они разные сразу не увидел, спасибо первый вариант работает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
nodejs parser url возвращает не все данные and_07 AJAX и COMET 0 19.12.2014 12:03
считать данные с url Amfoterra AJAX и COMET 2 07.05.2012 07:10
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
переход на выбор сайт через поле ввода url (как убрать функцию "открыть все") ? rashid86 Элементы интерфейса 1 31.03.2011 14:54
Не совсем обычный фрейм и выезжающий текст при наводе на картинку. amaz245 Элементы интерфейса 35 25.12.2010 17:29