0

请帮帮我。

我有一个文件 index.php,相关部分(之前加载了 Jquery):

<div id="test"></div>
<script type="text/javascript">
$('#test').load("table.php");
</script>

还有一个文件table.php。如果没有给出变量,则显示未过滤的表格。当 table.php 加载时,它还会加载一个选择字段,例如:

<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 为空,换句话说,它在页面中找不到我的选择字段。

知道我做错了什么吗?

4

2 回答 2

1

更改.+

连接是+在 javascript 中完成的,例如string3 = string1 + " " + string2

$('#test').load("table.php?action="+document.getElementById('testfield').value);
于 2012-07-16T13:38:55.080 回答
0

.load函数是异步的,因此执行立即需要数据的操作将失败。相反,使用 load 函数的回调功能:

$('#test').load('table.php', function() {
    // Do your stuff here!
});

将代码放入回调函数中可确保table.php在代码运行时加载并准备就绪。

于 2012-07-16T13:31:35.857 回答