2011-10-19 155 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); 

要去掉所有其他選項,包括顏色。目前我有織物選擇和顏色工作正常,但我需要刪除和添加只有某些顏色,我需要它自動工作。

我需要做的是當皮革1000被選中時,我只需要其中有1000個的顏色選項。

任何人都可以幫助我嗎?

回答

1

您可以根據需要使用contains選擇器。這裏有一些非常粗略的代碼來啓動。

$('select[name="attribute[76]"] option:contains("1000")')