Javascript 选择列表-加载和更改时检查
加载dom时以及有人更改选择选项时,尝试评估选择列表中选择的选项 我以为triggerHandler会触发我的功能?当页面加载时,应该说选择了值2Javascript 选择列表-加载和更改时检查,javascript,jquery,Javascript,Jquery,加载dom时以及有人更改选择选项时,尝试评估选择列表中选择的选项 我以为triggerHandler会触发我的功能?当页面加载时,应该说选择了值2 <select name="select-2" id="select-2"> <option value="1">1</option> <option value="2" selected>2</option> <option value
<select name="select-2" id="select-2">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
</select>
$(function () {
function ShowSelected() {
$('#select-2').change(function () {
if ($(this).val() == 1) {
alert('value 1 is selected');
} else if ($(this).val() == 2) {
alert('value 2 is selected');
} else if ($(this).val() == 3) {
alert('value 3 is selected');
}
});
}
$('#select-2').change(ShowSelected).triggerHandler("change");
});
1.
2.
3.
$(函数(){
函数ShowSelected(){
$('#select-2')。更改(函数(){
if($(this).val()==1){
警报(“选择值1”);
}else if($(this).val()==2){
警报(“选择值2”);
}else if($(this).val()==3){
警报(“选择值3”);
}
});
}
$('select-2').change(ShowSelected.triggerHandler(“change”);
});
您应该研究如何使用。比如说,
$('select option:selected') .....
您的
ShowSelected
不是事件处理程序,它注册了一个更改事件处理程序
要使其工作,请按如下所示进行更改
$(function () {
function ShowSelected() {
if ($(this).val() == 1) {
alert('value 1 is selected');
} else if ($(this).val() == 2) {
alert('value 2 is selected');
} else if ($(this).val() == 3) {
alert('value 3 is selected');
}
}
$('#select-2').change(ShowSelected).triggerHandler("change");
});
演示:您可以简单地执行此操作-(查看您现在拥有的内容)
ShowSelected();//你的第二个例子没有优化任何东西…我会这样组织它,但它不会使它变得更好。优化它的方法是存储$('#select-2')
的结果,而不是调用两次。好吧,你的意思是我只是正确地组织了它。未优化…:O
ShowSelected(); // <-- bind event to your select-2 in function
$('#select-2').triggerHandler("change"); // <-- trigger change event