首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择列表-加载时检查和更改时检查

选择列表-加载时检查和更改时检查
EN

Stack Overflow用户
提问于 2013-04-27 02:11:16
回答 3查看 210关注 0票数 0

JSFiddle

试图评估在加载dom时以及当有人更改选择选项时选择列表中的哪个选项。

我以为triggerHandler会导致我的函数被触发?当页面加载时,它应该说明选择了值2。

代码语言:javascript
复制
<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");
});
EN

回答 3

Stack Overflow用户

发布于 2013-04-27 02:14:48

您的ShowSelected不是事件处理程序,它注册了一个更改事件处理程序。

要使其正常工作,请按如下所示进行更改

代码语言:javascript
复制
$(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
EN

Stack Overflow用户

发布于 2013-04-27 02:18:54

你可以简单地这样做-(看看你现在所拥有的)

代码语言:javascript
复制
 ShowSelected(); // <-- bind event to your select-2 in function
 $('#select-2').triggerHandler("change"); // <-- trigger change event

http://jsfiddle.net/mohammadAdil/g6GWV/

每次调用ShowSelected();时,都会再次绑定更改事件,您应该只使用函数来显示命名的选定值

票数 1
EN

Stack Overflow用户

发布于 2013-04-27 02:13:39

您应该考虑使用:selected。例如,

代码语言:javascript
复制
$('select option:selected') .....
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16242694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档