javascript - 选择列表 - 检查负载和更改

标签 javascript jquery

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");
});

最佳答案

您的 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

关于javascript - 选择列表 - 检查负载和更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16242694/

相关文章:

javascript - 在谷歌图表AngularJS中添加行

javascript - 如何让 jquery 堆栈/协同工作

javascript - 将数据 ID 传递到引导模式时出现问题

javascript - SVG dx+text-anchor middle 在 chrome 和 firefox 中具有不同的行为

javascript - 在angularjs中使用各种字体

jquery - 为什么对scrollTop使用 'html, body'而不是 'html'

javascript - 通过 ajax 使用 FormData() 提交文本字段数组

jQuery 状态验证

jquery - 阻止 href 打开链接,但仍执行其他绑定(bind)事件

javascript - 如何从tinyMCE禁用HTML标签