不要看选项,不能选择

时间:2015-01-05 09:24:20

标签: javascript html css

我有一个小盒子,我可以改变语言,但它不起作用。我没有看到任何错误。如果我点击此框未打开,我无法选择该选项。但为什么?

我想做什么?我想做这样的事情:如果你选择option-> EST然后转到index.html,如果你选择option-> ENG那么它会转到index_eng.html

在HTML中我有:

<nav id="menu4">
    <select>
       <option href="index.html" value="est">EST</option>
       <option href="index_eng.html" value="eng">ENG</option>
    </select>
</nav>

在CSS中我有:

#menu4 {
    position: absolute;
    right: 0px;
}

#menu4 ul {
    text-align: right;
}

#menu4 a {
    color: #FFF;
    font-weight: normal;
    line-height: 22px;
    font-size: 16px;
    font-family: 'futura_bk_btbook';
}

#menu4 .selected a {
    /*text-decoration: underline;*/
}

此外,我还有此下拉菜单的脚本:

$('option').click(function() {
    var url = $(this).attr('href');
    window.location = url;
});

6 个答案:

答案 0 :(得分:3)

你可以试试这个

<select name="menu4" onchange="window.location = this.options[this.selectedIndex].value;">
 <option value="index.html">EST</option>
 <option value="index_eng.html">ENG</option>
</select>

答案 1 :(得分:1)

您可以使用.change(function() {...});执行此操作。

Here是演示。

$("select").change(function(){
var url = $(this).children('option').attr('href');
window.location = url;
});

答案 2 :(得分:0)

您需要我们选择change,然后获取相关href的{​​{1}}。

option

另请注意,$('select').on('change',function() { var href = $(this).children('option:selected').attr('href'); if (href) { window.location = href; } }); 元素没有option属性。如果要在元素上添加任意信息,请使用data-* attributes

示例(进行两项更改):

&#13;
&#13;
href
&#13;
$('select').on('change',function() {
  var href = $(this).children('option:selected').attr('data-href');
  if (href) {
    alert("Changed: " + href);
  }
});
&#13;
&#13;
&#13;

答案 3 :(得分:0)

试试吧。

<nav id="menu4">
    <select id="swt_lng">
       <option value="#" >Language</option>     
       <option value="index.html" >EST</option>
       <option value="index_eng.html" >ENG</option>
    </select>
</nav>

$('#swt_lng').change(function(){
    var url = $(this).val();
    window.location = url;
});

<nav id="menu4">
        <select>
           <option value="#" >Language</option>
           <option value="index.html" >EST</option>
           <option value="index_eng.html" >ENG</option>
        </select>
    </nav>

    $('#menu4 select').change(function(){
        var url = $(this).val();
        window.location = url;
    });

答案 4 :(得分:-2)

您可以将change事件绑定到SELECT而不是OPTION标记。每次选择新选项时,都会触发onchange事件。

jQuery( 'select' ).on( 'change', function() {
    var url = jQuery( this.options[this.selectedIndex] ).attr( 'href' );
    window.location = url;
} );

答案 5 :(得分:-2)

HTML

<nav id="menu4">
    <select>
       <option value="index.html" >EST</option>
       <option value="index_eng.html">ENG</option>
    </select>
</nav>

JS代码

$('select').on('change',function(){
    var url = $(this).val();
    window.location = url;
});