2011-10-19 16 views
0

にこのような何かJQuery-はそれが行く...私は、これはそれは常に(など、追加、削除)に変化している選択してい選択

を特定のオプションを削除し、再度追加:私は

<select class="validation" id="6401e0f3802aa3c1d76feca811b3c43c" name="attribute[75]"> 
<option value="109">Leather 1000</option> 
<option value="111">Leather 2000 (+$300.00)</option> 
<option value="112">Leather 3000 (+$400.00)</option> 
<option value="113">Leather 5000 (+$500.00)</option> 
</select> 

をjQueryを使用して、次のような色オプションを除外しています:

<select class="validation" id="" name="attribute[76]"> 
<option value="210">1000-Black</option> 
<option value="211">2000-Black</option> 
<option value="212">3000-Black</option> 
<option value="213">5000-Black</option> 
</select> 

色の前の数字はレザータイプに対応しています。私の問題は、レザータイプごとに数百色のオプションがあることです。

私は現在、このプラグインを使用しています:

(function($){ 

$.fn.extend({detachOptions: function(o) { 
    var s = this; 
    return s.each(function(){ 
     var d = s.data('selectOptions') || []; 
     s.find(o).each(function() { 
      d.push($(this).detach()); 
     }); 
     s.data('selectOptions', d); 
    }); 
}, attachOptions: function(o) { 
    var s = this; 
    return s.each(function(){ 
     var d = s.data('selectOptions') || []; 
     for (var i in d) { 
      if (d[i].is(o)) { 
       s.append(d[i]); 
       console.log(d[i]); 
       // TODO: remove option from data array 
      } 
     } 
    }); 
}}); 

})(jQuery); 

色を含む他のすべてのオプションを、取り除くために。現在、私はファブリックの選択と色が正常に機能していますが、特定の色のみを削除して追加する必要があり、自動的に機能する必要があります。

私がする必要があるのは、Leather 1000が選択されているときに、1000-色のオプションのみが必要な場合です。

誰もがこれを手伝ってくれますか?

答えて

2

は例です:http://jsfiddle.net/8x7Cz/

は、あなたがこの

を変更したい場合があります // tricky partを意識します
1

お客様のニーズに応じてcontainsセレクタを使用することができます。ここでは、開始するためのいくつかの非常に粗いコードです。ここ

$('select[name="attribute[76]"] option:contains("1000")') 
関連する問題