一个简单的问题:
为什么这段代码在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中它可以工作。
答案 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ç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