0

ここでいくつかの質問に対する回答を既に見つけたので、誰かが次の質問に対する回答を持っていると確信しています。

Ajax を介して選択ボックスの更新をプログラムしました。Internet Explorer 8 以降、Opera、Firefox ではすべて正常に動作します。しかし、開発ツール (F12) で Internet Explorer 7 または Quirks を選択すると、正しく動作しません。行に 3 つの選択フィールドがあります。最後の 2 つは、最初の 1 つが選択された後に入力されます。これは機能します。

今問題:複数の選択を可能にするために、完全な行が複製され、後で追加されます。最初の行では機能しますが、その後は機能しません。

2 番目と 3 番目の選択を更新する必要がある場合、最初の OPTION エントリのみが更新され、選択フィールドはプルダウンされないため、バグがあるようです..... 問題のあるプルダウンに正しい HTML コンテンツがあるかどうかを確認しましたそして、取得した HTML コンテンツはjquery $().html()、関数が選択フィールドを更新した後に必要なものとまったく同じです。

<div id="diagrammpreview" style="height:500px;width:500px;"></div>
<div id="d1">
<div id="diagramm1">
<select size="1" class="overviewtables" name="overviewtables"><option value="error">Bitte auswaehlen</option></select>
<select size="1" class="axis" name="axis1"><option value="error">Zuerst Tabelle auswaehlen</option></select>
<select size="1" class="axis" name="axis2"><option value="error">Zuerst Tabelle auswaehlen</option></select>
<input type="button" id="preview1" class="preview" name="preview1" value="Preview">
</div>  

これは複製される部分です:

$('#adddiagramm').click(function(){$('#d1').children().last().after($('#diagramm1').clone())


function fillpulldown(val,text,j_pulldown,a)
{
 var newcontent="<option value=\"error\">"+"Bitte auswaehlen"+"</option>";
 for(i=0;i<=(val.length-1);i++)
 {

 if(val[i]=="timestamp"){}
     else
     {
        newcontent=newcontent+ "<option value=\""+val[i]+"\">"+text[i]+"</option>";
     }
 }
    alert(newcontent);
 j_pulldown.html(newcontent);
 alert(j_pulldown.parent().html());
 alert(j.pulldown.html());
}

この関数は、プルダウン メニューを埋めます。動作しますが、IE7 はその部分を正しく解析していないようですj_pulldown.html(newcontent)。問題は CLONED コンテンツのみにあります。

4

0 に答える 0