このコード/マークアップをphpスクリプトと組み合わせて使用すると、phpスクリプトを介してファイルに設定されたオプションが入力された複数選択入力がレンダリングされます。目標は、ユーザーがオプションをクリックすると、テキストファイルが読み取られ、div $( "#txtbx")に出力されることです。これはmozillafirefoxで計画どおりに機能しますが、ie9は何も実行せず、エラーも出力もありません。コメントからわかるように、私はコードの終わりの部分を見つけました。私が最初に考えたように、これは.each()の問題ではなく、セレクターの問題でもありません(クラスによって直接参照しました:コメントを参照してください)。$(this)でもありません。私もテストしました... $(this)に添付されているイベントまたはイベント自体のようです。出力が$(this).click(f)を超えないため、出力がどこに行くかは関係ありません。ここで何が起こっているのか分かりますか?
<div id="txtbx">
</div>
<select id="REFselect" size="1">
<option class="REFoptions" value="./TXT/css.txt">css.txt</option>
<option class="REFoptions" value="./TXT/dns.txt">dns.txt</option>
</select>
$("#REFselect option").each(function () {
$(this).click(function(){
alert("test")
/*
$("#txtbx").load($(this).val(),function(responseTxt,statusTxt,xhr){
$(this).html("<pre>"+responseTxt+"</pre>");
if(statusTxt=="success")
alert("External content loaded successfully!");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
});
*/
});
});
これは動作するコードです。私はこのサイトを初めて使用するので、非常に良かったと答えてくれたすべての人に感謝したいと思います。適切なクレジットを付与する方法がわかりません。調査中です。また、古いコードがIEではなくFFで機能した理由を知りたいと思います。
$("#REFselect").change(function(){
var select = $(this).val();
$("#txtbx").load(select,function(responseTxt,statusTxt,xhr){
$(this).html("<pre>"+responseTxt+"</pre>");
if(statusTxt=="success")
alert("External content loaded successfully!");
if(statusTxt=="error")
alert("Error: "+xhr.status+": "+xhr.statusText);
});
});