2014-12-20 3 views
0

Доброе утро,Изменить значение параметра для выбора, если же URL

У меня есть форма

<select name="select" onchange="window.open(this.options[this.selectedIndex].value,'_self')"> 
<option selected="selected">Select your size</option> 
<option value="https://www.webpage.com/01">Size S</option> 
<option value="https://www.webpage.com/02">Size M</option> 
<option value="https://www.webpage.com/03">Size L</option> 
<option value="https://www.webpage.com/04">Size XL</option> 
</select>  

Так что, если люди выбрать размер S они идут https://www.webpage.html/01 и так далее ..... На аль на страницах у меня одинаковая форма выбора, но как я могу изменить выбранный вариант как selected = "selected" с помощью javascript?

Так что если люди выбирают размер M, перейдите к https://www.webpage.com/02 и чтобы форма отображала размер M на этой странице. Поэтому, если значение параметра url совпадает с URL-адресом страницы, оно автоматически дает select = "selected" для этой опции.

может быть свалка вопрос, но разве Javascript моя лучшая часть;)

Спасибо за вашу помощь.

ответ

1

Вы можете попробовать

$("option[value='" + window.location.href.toString() + "']").closest("select").val(window.location.href.toString());

Он найдет опция, точно соответствующая странице url

+0

ВЫ ЛУЧШИЕ, это работает !! Спасибо, ты помог мне! – Patrick

0

Если URL точно соответствует опции значения

$("selectElementId").val(window.location); 
0

Вы можете добиться этого с помощью JavaScript или JQuery

HTML

<select name="select" id='option' onchange="window.open(this.options[this.selectedIndex].value,'_self')"> 
<option selected="selected">Select your size</option> 
<option value="https://www.webpage.com/01">Size S</option> 
<option value="https://www.webpage.com/02">Size M</option> 
<option value="https://www.webpage.com/03">Size L</option> 
<option value="https://www.webpage.com/04">Size XL</option> 
</select> 

JQuery решение

$(document).ready(function(){ 
    $('#option').on('change',function(){ 
     $("#option option:selected").attr('selected','selected'); 
    }); 
}); 
0

Если вы хотите т о делаю это с JavaScript только, я бы порекомендовал вам сделать это:

  1. добавить идентификатор атрибут для каждого из опционных тегов

    <option id="sizeS" value="https://www.webpage.com/01">Size S</option> 
    <option id="sizeM" value="https://www.webpage.com/02">Size M</option> 
    
  2. добавить имя атрибут к телу тэгу каждая страница: Например, на странице https: .../01:

    <body name="S"> 
    
  3. добавить эту функцию в части JavaScript каждой страницы:

    function updateForm() { 
        var currentSize = document.getElementsByTagName['body'][0].getAttribute('name'); 
        document.getElementById("size" + currentSize).selected = "selected"; 
    } 
    
  4. выполнить функцию updateForm() при загрузке страницы. Например, с OnLoad:

    <body name="M" onload="updateForm()"> 
    

вы также можете использовать приемник событий с событием "DOMContentLoaded", нажмите here для получения дополнительной информации:

Смежные вопросы