我正在寻找这个问题的最佳解决方案。我有一个简单的商店逻辑问题。有2个选择元素,尺寸和颜色。我想让它们依赖于数据(现在它是示例数据,但后来它将来自数据库) - 大小将决定哪些颜色选项对于客户是可见的(隐藏不必要的颜色)。
第一个问题是,当我进行更改事件时,我想隐藏文档准备好的默认显示元素,它仍然可见(我必须再次将颜色更改为不同于打开的下拉列表,然后它将不可见)。
其次是我正在寻找最灵活的解决方案,因为我对我的怀疑。这是代码:
var rozmiar = new Array("S", "M", "L", "XL", "XXL");
var kolor = new Array("Czerwony", "Niebieski", "Zielony", "Biały", "Czarny");
var opcje = new Array( rozmiar, kolor);
$(document).ready(function(){
$('.form1').change(function(){
$('.form2 option').show();
var selectSelector = function(z){
selectSelector = $('select.form2 option[value='+kolor[z]+']').hide();
};
wybranyRozmiar = $(this).val();
if(wybranyRozmiar == rozmiar[0]){
selectSelector(0);
}
if(wybranyRozmiar == rozmiar[1]){
selectSelector(1);
}
if(wybranyRozmiar == rozmiar[2]){
selectSelector(2);
}
if(wybranyRozmiar == rozmiar[3]){
selectSelector(3);
}
if(wybranyRozmiar == rozmiar[4]){
selectSelector(4);
}
});
});
答案 0 :(得分:1)
我正在回答我理解的唯一部分。
您可以使用开关
,而不是使用多个if
语句
switch(selectsize) {
case rozmiar[1]:
$('select.form2 option[value='+color[2]+']').hide();
break;
//case <another>"
//break;
}
答案 1 :(得分:0)