尝试评估加载dom时以及有人更改选择选项时在选择列表中选择的选项。
我认为triggerHandler会导致我的功能被触发?当页面加载时,应该说选择值为2。
<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");
});
答案 0 :(得分:1)
您的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");
});
演示:Fiddle
答案 1 :(得分:1)
你可以这样做 - (看看你现在拥有的东西)
ShowSelected(); // <-- bind event to your select-2 in function
$('#select-2').triggerHandler("change"); // <-- trigger change event
http://jsfiddle.net/mohammadAdil/g6GWV/
每当您致电ShowSelected();
时,您再次绑定更改事件,您应该只使用您的函数在您命名时显示所选值
答案 2 :(得分:0)
您应该考虑使用:selected。例如,
$('select option:selected') .....