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 が null である、つまり、ページ内の選択フィールドを見つけられないことを通知することです。

私が間違っていることは何ですか?

4

2 に答える 2

1

Change the . to +

Concatenation is done with + in javascript e.g 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 に答える