JSFiddle
试图评估在加载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");
});发布于 2013-04-27 02:14:48
您的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
发布于 2013-04-27 02:18:54
你可以简单地这样做-(看看你现在所拥有的)
ShowSelected(); // <-- bind event to your select-2 in function
$('#select-2').triggerHandler("change"); // <-- trigger change eventhttp://jsfiddle.net/mohammadAdil/g6GWV/
每次调用ShowSelected();时,都会再次绑定更改事件,您应该只使用函数来显示命名的选定值
发布于 2013-04-27 02:13:39
您应该考虑使用:selected。例如,
$('select option:selected') .....https://stackoverflow.com/questions/16242694
复制相似问题