IE9の動的ドロップダウンリストに問題があります。
テーブルがあり、列の1つにコンボが入力され、行ごとに1つのコンボが入力され、これらの各コンボは次のようなHTML5.0コードで作成されます。
<select id="cboABC0" class="RetrieveList cboABC" data-index="0" data-info="3" name="cboABC">
<option selected="selected" value="N">Select</option>
<option value="P">Partial</option>
<option value="C">Complete</option>
<option value="CA">Cancelled</option>
</select>
</td>
選択したオプションに応じて、ドロップダウンリストでオプションの1つが選択されたときに何かが発生するようにしたいのですが、そのために、JQueryでRetrieveListクラスのイベントを使用するさまざまな方法を試しました。
$(".RetrieveList").live(''click'',function(event){
var val_info = $(this).attr("data-info");
var val_index = $(this).attr("data-index");
var sOptionSelected = $(this).val();
alert(sOptionSelected);
// Here is where I want to do something , depending on the selected option.
});
「ライブクリック」では、少なくともクリックイベントが「発生」しますが、選択したものが認識されません。たとえば、何も選択されておらず、コンボを開いた場合など、最後に選択したオプションのままになります。別のオプションに移動してそのオプションをクリックすると、クリックイベントに移動しますが、$(this).val()で返される値は、選択したばかりの値ではなく、前の値です。一方、矢印キーでオプションを選択してクリックすると、idは新しい値を認識します。「クリック」の変化だけを認識し、価値は認識しないようなものです。
「バインドクリック」、「ライブ変更」、「バインド変更」を試してみましたが、これらのオプションを使用しても、クリックが「起動」されません。
繰り返しになりますが、これはすべてIE9で発生し、Mozillaでは大きな問題は発生していません。
誰かがこの問題で私を助けてくれるなら、私はそれを大いに感謝します。
前もって感謝します、
よろしく!
ブレンダ