如果相同的URL,则将选项值更改为选中

时间:2014-12-20 08:41:58

标签: javascript forms

早上好,

我有一张表格

<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,依此类推...... 在页面上,我有相同的选择形式,但如何使用javascript将所选选项更改为selected =“selected”?

因此,如果人们选择尺寸M,则转到https://www.webpage.com/02并且表单在此页面上显示尺寸M.因此,如果选项值url与页面url相同,则会自动将select =“selected”赋予此选项。

也许是转储问题,但javascript不是我最好的部分;)

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

你可以尝试

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

它会找到与页面网址完全匹配的选项

答案 1 :(得分:0)

如果url与选项值完全对应

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

答案 2 :(得分: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');
    });
});

答案 3 :(得分:0)

如果您只想使用JavaScript,我建议您这样做:

  1. 为每个选项标记添加id属性

    <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. 为每个页面的body-tag添加name属性: 例如,在页面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()">
    
  5. 你也可以使用&#34; DOMContentLoaded&#34;的事件监听器。活动,请点击here了解详情: