jquery
2011-12-29 10 views 1 likes 
1
で選択したオプション

HTMLのjQuery 1.4.4は、IE8

<div class="ph"> 
</div> 
<div class="ph"> 
</div> 

Javascriptを

$(function(){ 
    var htmlStr = '\ 
     <select id="OptionID" name="OptionID">\ 
      <option value="">--- Select ---</option>\ 
      <option value="1">Option 1</option>\ 
      <option value="2">Option 2</option>\ 
      <option value="3">Option 3</option>\ 
      <option value="4">Option 4</option>\ 
      <option value="5">Option 5</option>\ 
      <option selected="selected" value="6">Option 6</option>\ 
      <option value="7">Option 7</option>\ 
      <option value="8">Option 8</option>\ 
     </select>\ 
     '; 

    $(".ph").html(htmlStr); 
}); 

Example JSFiddleをレンダリングしていませんFF。 jQueryのバージョンを1.4.4以降に変更すると、動作が開始されます。 1.4.4からjQueryで何が変わったのですか?回避策はありますか?

EDIT

回避策 - これは私が問題はjQueryの以前のバージョンとあったかわからない

$(".ph").each(function(){ 
    $(this).html(htmlStr); 
}); 

Workaround JSFiddle

答えて

0

使用の回避策

$(".ph").each(function(){ 
    $(this).html(htmlStr); 
}); 

Workaround JSFiddle

1

動作しますが、この問題を回避するには、選択し設定することができ要素を作成した後の価値 - IE8で私が働いてくれたのは以下の通りです。

$(".ph").find("option[value='6']").attr("selected","selected"); 

それをより効率的にするために何をしたいのですか。 HTMLに何が含まれているか不明であるとして、オプションではありません

+0

。このHTMLはAJAXリクエストを介して取得され、動的にレンダリングされます。今のところ私は、アプリケーションが最新バージョンのjQueryにアップグレードできるようになるまで、私が掲示した回避策を使用しています。今質問は本当に何が変更されたかについてのものであり、理由を知ることはうれしいでしょう。 –

+0

十分に公正。あなたが質問を更新したことを知る前に、私はこの回答を投稿しました。変更されている限り、私の古い行動は間違っており、新しい行動は正しいと思われます。その理由は十分ではありませんか? – nnnnnn

関連する問題