添加类时删除选项

时间:2017-06-26 09:38:33

标签: jquery

所以我在商店里有一个可配置的产品,根据您选择的选项,价格会发生变化。当您选择“选择选项”选项以外的选项时,它应该消失。例如,当您希望产品的尺寸为1400 mm但改变主意时,选择“选择选项”应该会消失。我没有安静地设法做到这一点。也许你可以帮忙。我的小提琴在这里:

https://jsfiddle.net/f19L73wu

我想你可以说当“选择”这个类被添加到一个选项时,它应该使第一个选项值消失。

    <div class="input-box">
    <select name="super_attribute[149]" id="attribute149" class="required-entry super-attribute-select">
        <option value="">Choose option…</option>
        <option value="28" price="139" data-label="1000 mm">1000 mm</option>
        <option value="30" price="169" data-label="1200 mm" class="selected">1200 mm</option>
        <option value="32" price="199" data-label="1400 mm">1400 mm</option>
    </select>
</div>

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法删除第一个选项:

jQuery('select').one('change', function(){
    jQuery(this).find('option').first().remove();
});
  

请注意,您只想在第一次更改时执行此操作。

另一种选择 - 使用css:

jQuery('select').change(function(){
    jQuery(this).addClass('selected');
});

的CSS:

select.selected option:first {
    display: none;
}

答案 1 :(得分:0)

尝试使用此功能删除选项。

$(".super-attribute-select > option").each(function(){

   if($(this).attr('class') == 'Your class which you have assigned'){
        $(this).remove();
   }

});

但我认为这不是将类分配给选项的好方法,在我看来,你可以像这样检查删除值。

    $(".super-attribute-select option[value='your-val']").each(function() {
       $(this).remove();
    });