如果我有以下选择框:
<select id="a1" multiple>
<option>Apple</option>
<option>Banana</option>
<option>Carrot</option>
<option>Dates</option>
<option>Eggs</option>
<option>French fries</option>
</select>
编写条件if
/ else
语句的正确方法是什么,只有在选择某些项目时才执行某些功能?
含义:
如果选择了Apple或Banana,则会遇到if
条件#1且代码触发
但如果选择了胡萝卜或日期或鸡蛋,则会遇到if
条件#2,并且会触发不同的代码等。
编辑:我想我使用此数组中的项目作为示例,但最有用的构造会将条件与所选索引(或索引)挂钩,而不仅仅是字符串值。这样,任何选择框都可以使用条件参数,而不管其中的值。
答案 0 :(得分:1)
一种方法是使用相关指数的地图来调用相关函数,例如:
function functionOne() {
console.log('functionOne called');
}
function functionTwo() {
console.log('functionTwo called');
}
var functionMap = {
'0-1-2': function(){
functionOne();
},
'4-5': function(){
functionTwo();
}
};
$('select').change(function () {
var valueString = $(this).find('option:selected').map(function () {
return $(this).index();
}).get().join('-');
if (functionMap.hasOwnProperty(valueString)) {
functionMap[valueString]();
}
});
参考文献:
答案 1 :(得分:0)
$('#a1').change(function(){
if($('#a1').val() == 'Carrot' || $('#a1').val() == 'Bannana'){
alert('condition #1');
}
});