我似乎无法在循环中隐藏某些选项值。此刻,整个选项选择值都被隐藏了。我该如何运作?
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();
}
});
}
}
还有没有更好的方法可以实现我的目标?
最佳答案
您需要检查循环中this
引用的当前迭代选项的值,并将其与-1
返回的inArray
进行比较:
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
关于javascript - 使用jQuery inArray并隐藏选项值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27753367/