2012-03-01 48 views
0

我写了一个jQuery脚本动态地加载网页上的表单:JQuery的.load()加上垂直选项卡,请求URI在Opera 9.80

<script> 
$(document).ready(function(){ 
$("#reserveringskeuze").change(onSelectChange); 
}); 
function onSelectChange(){ 
var selected = $("#reserveringskeuze option:selected");  
var output = ""; 
    if(selected.val() != 0){ 
    output = selected.text(); 
} 
if(selected.val() != 0){ 
$("#output").load("/reserveren/" + output) 
$("#output").html(output); 
} 
} 
</script> 

这适用于大多数的浏览器,除了歌剧9.80(没有测试其他歌剧版本)。在大多数浏览器中,请求的uri会像/ reserveren/bungalow/in Opera请求uri变成/ reserveren /%09%09%09%09%09%09平房/我不知道为什么这些垂直制表符(%09)是添加。

有什么想法?

+0

除了垂直选项卡问题,当您将其添加到URL时,您需要[encodeURIComponent(output)](http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp)。 – 2012-03-01 08:32:54

回答

0
output = $.trim(selected.text()); 

看起来像Opera正在选择标签。修剪它应该删除额外的标签。

+1

trim()不被所有浏览器支持,请使用$ .trim(selected.text())。 – 2012-03-01 08:27:37

+0

谢谢!它现在完美。 – user1242101 2012-03-01 10:26:39

+0

没问题。如果这回答你的问题,请将其标记为已回答。 – 2012-03-01 11:09:33