2012-03-28 15 views
0

私は多少の問題があります。私は2つの依存ドロップダウンリストを持っています。最初にsthを選択した場合、2番目にsthを選択すると、フィルタ処理されたオプションが表示されます。私はFFでうまくいっていますが、IE9で試してみるとトグルが止まります。私はすべてのオプションを見ることができます。 マイコード:JQuery .toggle()がIE9で選択オプションを使用していません

HH1: 
<select name="color"> 
    <option value="1">blue</option> 
    <option value="2">red</option> 
</select> 

HH2: 
<select name="size"> 
    <option value="0" data-shown="0" data-link="">Please select</option> 
    <option value="1" data-shown="1" data-link="link1">L</option> 
    <option value="2" data-shown="1" data-link="link2">M</option> 
    <option value="3" data-shown="2" data-link="link3">XL</option> 
    <option value="23" data-shown="2" data-link="link4">XM</option> 
</select> 

私のjQueryコード:あなたには、いくつかの解決策を持っている場合は

$('select[name="color"]').change(function() { 
    var number = parseInt($('option:selected', this).attr('value')); 
    $('select[name="size"] option').each(function(){  
     if (parseInt($(this).attr('data-shown')) != 0){    
      $(this).toggle(false);   
      $(this).toggle(parseInt($(this).attr('data-shown')) == number); 
     }else { 
      $(this).attr('selected', true); 
     }}); 
}).trigger('change'); 

を助けてください。 .....ドキュメント準備スクリプトやsthに入れるべきかどうか疑問です。

私の例:http://jsfiddle.net/KD7Q5/1/

答えて

1

シャンカランサンゴリの答えは良いです。オプションを消したい場合は、隠したままにして、オプションをコピーして可視のものにコピーすることができます。

デモ:この例ではhttp://jsfiddle.net/XjShS/

、私は(隠されたサイズ...私がやるようなお粗末な名前を選択しないでください)hsizeという名前selectを持っています。それにはすべてのオプションがあります。 changeハンドラがトリガされると、sizeセレクトのオプションがクリアされ、hsizeから適切なものが追加されます。

+0

これは私が必要とする答えです。感謝は魅力のように働く。 – ResoR

0

IEは、オプションの要素を非表示には対応していません。無効にすることがあなたのために働くなら、私はあなたにそれをすることを提案します。オプションを無効にして

の作業のデモ - http://jsfiddle.net/KD7Q5/3/

+0

あなたの変更を保存していないようです...フィドルはオリジナルと同じです。 –

+0

@JeffB - そうです。ここに行くhttp://jsfiddle.net/KD7Q5/3/ – ShankarSangoli

+0

速い答えをありがとう。それはいくつかの解決策ですが、私はそれが私の顧客を満足させないと思う....私はオプションでいくつかの配列を作成し、最初のリストの選択に応じていくつかを追加し、削除する必要がありますね。選択肢にオプションを動的に追加したり削除したりする可能性はありますか? – ResoR

0

あなたは動的にsize要素に選択肢がcolor要素に対して行われるたびに再増殖を持つ方が良いかもしれません。あなたの "問題"のためのクロスブラウザソリューションで、隠れオプションに対処する必要はありません。

関連する問題