使用jQuery inArray并隐藏选项值

时间:2015-01-03 09:23:37

标签: javascript jquery

我想我几乎就在那里,但似乎无法在我的循环中隐藏某些选项值。目前整个选项选择值被隐藏。任何人都可以帮我调整它以使其工作

function initialStrandOptions() {
 if($('#component_id_1').prop('checked') == true){
  var strand_options = $('.strand_options').find('option')
   strand_options.each(function(){
    if(jQuery.inArray(strand_options, ['4', '5', '6', '7'])){
     $(this).hide();
    }
   });  
 }
}

还有更好的方法来实现我的目标吗?

由于

1 个答案:

答案 0 :(得分:2)

您需要检查循环中this引用的当前迭代选项的值,并将其与inArray返回的-1进行比较:

function initialStrandOptions() {
    if ($('#component_id_1').prop('checked') == true) {
        var strand_options = $('.strand_options').find('option')
        strand_options.each(function () {
            if (jQuery.inArray(this.value, ['4', '5', '6', '7']) > -1) {
                $(this).hide();
            }
        });
    }
}

<强> Demo