2011-10-19 105 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")')