请帮帮我。
我有一个文件index.php,相关部分(之前加载了Jquery):
<div id="test"></div>
<script type="text/javascript">
$('#test').load("table.php");
</script>
一个文件table.php。如果未给出变量,则显示未过滤的表。当table.php加载时,它还会加载一个select字段,如:
<select name="testfield" id="testfield" onchange="javascript:setactionfilter();">
<option value="1">Test</option>
<option value="2">Test2</option>
</select>
之后,一个脚本重新加载该testdiv中的table.php并带有过滤结果:
<script type="text/javascript">
function setactionfilter(){
$('#test').load("table.php?action=".document.getElementById('testfield').selectedvalue);
}
</script>
问题是我的浏览器告诉我getElementById为null,换句话说,它无法在页面中找到我的选择字段。
知道我做错了吗?
答案 0 :(得分:1)
将.
更改为+
在javascript中使用+
进行连接,例如string3 = string1 + " " + string2
$('#test').load("table.php?action="+document.getElementById('testfield').value);
答案 1 :(得分:0)
.load
函数是异步的,因此执行立即需要数据的操作将失败。而是使用加载函数的回调功能:
$('#test').load('table.php', function() {
// Do your stuff here!
});
将代码放入回调函数可确保在代码运行时加载table.php
并准备就绪。