jQuery("#changeCoinCountrySelect").change(function(){
// Get value from select box
var country = jQuery('#changeCoinCountrySelect option:selected').val();
jQuery("#coinTable").load(".../.../.../tables.php?country="+country);
});
我的问题是,如果国家的值为英国,那么在tables.php中,当查看$_GET['country']
时,只有 Great < / strong>已被记录。
因此,我认为HTML可能存在问题,而不是由jQuery编码。
可能的解决方案,html编码国家变量,然后在PHP脚本中解码。问题是这似乎没有对空格做任何事情!
我是jQuery的灾难,所以如果有人能指出我正确的方向吗?
答案 0 :(得分:6)
尝试:
jQuery("#coinTable").load(".../.../.../tables.php?country="+encodeURIComponent(country));
您需要对放入网址的数据进行编码。在javascript中,您需要使用encodeURIComponent
。
答案 1 :(得分:1)
您可以使用encodeURIComponent(按照j0k的建议)。 但是,鉴于您使用的是jQuery,我会这样做:
jQuery("#coinTable").load("../../../tables.php", { country: country });
这将一个简单的JS对象传递给jquery,它将为您编码所有键/值。
答案 2 :(得分:0)
我最好为你select
使用uri-safe值,顺便说一下,这将更加友好:
<select id="changeCoinCountrySelect">
<option value="uk">Great Britain</option>
<option value="us">USA</option>
...
</select>
这样,您就可以依赖更强大的标签了。