AJAX と JQUERY に問題があります。
タグを含むフォームがあります。オプションを選択したら、AJAX を使用して数式を生成し、データベースからのデータを入力して表示します。
jQuery UI MultiSelect Widgetを使用したい
問題は、選択を jQuery で初期化する必要があることですが、新しいコンテンツを生成するファイルでこの関数を呼び出すと機能しません (AJAX を使用しない場合はうまく機能します)。
<script type="text/javascript">
$(function(){
$("#ExampleSelect").multiselect({
selectedList: 4
});
});
</script>
構造は次のとおりです。
- 通常の を含むメイン フォームと、AJAX 呼び出しの後に生成される要素を含む PHP ファイル。( の onChange イベント
<select>
)。 - Ajax ファイル
function LoadDiv()
{
var xmlhttp;
var serie_id = document.getElementById('serie_id').value;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("divForm").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","divDataManagement.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("serie_id="+serie_id);
}
$.ajax({
success: function(){
$("#ExampleSelect").multiselect("destroy").multiselect({
selectedList: 4
});
}
});
<div>
メインの php フォーム (タグ内) に表示される jQuery UI MultiSelect を含む PHP ファイル。
<select id = "ExampleSelect" multiple>
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>
ご協力いただきありがとうございます。