javascript - 如果下拉列表中只有一个值,则 HTML 下拉列表无法捕获 onChange()

标签 javascript html jquery jquery-events

我正在使用 Jquery 来选择下拉列表的值。

我需要对 OnChange 做一些操作事件(jQuery 中的 .change),但如果下拉菜单中只有一个选项,我无法在 onChange 中捕获它事件。

我的下拉列表是动态形成的,所以不知道有多少选项我会得到多少选项,但如果只有一个选项,我就会遇到问题。
有没有办法捕获OnChange <select> 的事件只有一个<option>

最佳答案

您不需要有 onchange 事件。只要有一个从 onchange 调用的函数,如果只有一个项目,就继续调用该函数。

function populate() {
    //do work to populate #selector

    if($("#selector option").length == 1) {
        $("#selector").hide();
        workerFunction();
    } else {
        $("#selector").show();
    }

    $("#selector").change(workerFunction);

    //the following line of code will work like a default:
    workerFunction();
}

function workerFunction() {
    //put whatever used to be in your onChange function here
}

关于javascript - 如果下拉列表中只有一个值,则 HTML 下拉列表无法捕获 onChange(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9193587/

相关文章:

python - 在 Django 中的 HTML 模板上呈现/引发验证错误

javascript - 过早触发 javascript setTimeOut 事件

javascript - 如何在 javascript/jquery 中获取 HTML 元素的属性

javascript - "e.target"调用错误目标?

javascript - 使用 document.createElement ("p"时如何在 <p> 元素中间添加 anchor 标记)

javascript - 输入类型=提交在 div 内时不触发?

javascript - 为什么2加2是22?

javascript - 将 map 置于标记边界数组上 [传单]

javascript - 具有默认值的屏蔽输入插件

javascript - Windows 8 应用栏窃取焦点