繁体   English   中英

链接在 <select>使用JS不适用于Chrome。 IE&FF它的工作原理

[英]Link in a <select> with JS doesn't work on Chrome. IE & FF it works

一个简单的问题:

为什么这段代码在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中它可以工作。

<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>元素完全不同的UI。

试着看一下: Onclick在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>

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

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

只需设置每个选择的value=""并放入URL。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM