使用JS链接<select>并不适用于Chrome。 IE&amp;它有效吗</select>

时间:2014-03-24 14:03:16

标签: javascript html

一个简单的问题:

为什么这段代码在FF和IE浏览器中完美运行,而在Chrome浏览器中却没有?

<select  class="langbox" name="forma">
        <option class="text-option" onClick="window.location = 'http://www.myurl/it'" >Italiano</option>
        <option class="text-option" onClick="window.location = 'http://www.myurl/en'" >English</option>
        <option class="text-option" onClick="window.location = 'http://www.myurl/de'" >Deutsch</option>
        <option class="text-option" onClick="window.location = 'http://www.myurl/fr'" >Français</option>
        <option class="text-option" onClick="window.location = 'http://www.myurl/ru'" >Pусский </option>

    </select>

它没有重定向我想要的网址,它在Chrome上没有任何作用。在Firefox和IE中它可以工作。

4 个答案:

答案 0 :(得分:6)

<select class="langbox" name="forma" onChange="window.location
                 ='http://www.myurl/'+this.options[this.selectedIndex].value;">
    <option class="text-option" value="it">Italiano</option>
    <option class="text-option" value="en">English</option>
    <option class="text-option" value="de">Deutsch</option>
    <option class="text-option" value="fr">Fran&ccedil;ais</option>
    <option class="text-option" value="ru">Pусский</option>
</select>

您没有点击选项,您更改了选择。虽然有些浏览器可能会容忍这种情况,但其他浏览器可能不会(正如您所发现的那样)。特别是移动浏览器,它可能具有完全不同的<select>元素用户界面。

答案 1 :(得分:2)

试着看看这个: Onclick doesn't work in Chrome

<select class="input" onchange="window.location.href = this.value" style="width:200px">
    <option>---</option>
    <option value="http://www.myurl/it">Italiano</option>
    <option value="http://www.myurl/en">English</option>
</select>

答案 2 :(得分:1)

您可以使用JQuery将其更改为不使用onClick。 试试这个:

$('.text-option').click(function() {
    var loc = $(this).val();
    window.location = loc;
});

只需设置每个选择的value=""并输入网址。

我认为此解决方案应适用于所有浏览器。

答案 3 :(得分:1)

只需使用“window.location.href”而不是“window.location”,它适用于Chrome