javascript - 动态添加和填充选择框

标签 javascript jquery html

我正在尝试动态添加和填充一些选择框:

$("#mydiv").append("<table id='myTab'><tr></tr></table>")
var row = "";

for (var i = 0; i < 3; i++) {
    row += "<select id='sel" + i + "'>";

    for (var j = 0; j < 3; j++) {
        row += "<option id='opt" + j + "'>Test " + j + "</option>";
    }

    row += "</select>";

    $("#mydiv").on('change', '#sel' + i, function() {
        alert($(this).val());
    });
}

$("#mytab").append(row);

不幸的是,选择框不会显示。
但是,当我输出 row 时,我得到了预期的输出:

<select id='sel0'>
    <option id='opt0'>Test 0</option>
    <option id='opt1'>Test 1</option>
    <option id='opt2'>Test 2</option>
    </select>
<select id='sel1'>
    <option id='opt0'>Test 0</option>
    <option id='opt1'>Test 1</option>
    <option id='opt2'>Test 2</option>
</select>
<select id='sel2'>
    <option id='opt0'>Test 0</option>
    <option id='opt1'>Test 1</option>
    <option id='opt2'>Test 2</option>
</select>

Here is a fiddle .

最佳答案

只需替换...

$("#mytab").append(row);

...与...

$("#myTab").append(row);

演示

$("#mydiv").append("<table id='myTab'><tr></tr></table>")
var row = "";

for (var i = 0; i < 3; i++) {
    row += "<select id='sel" + i + "'>";

    for (var j = 0; j < 3; j++) {
        row += "<option id='opt" + j + "'>Test " + j + "</option>";
    }

    row += "</select>";

    $("#mydiv").on('change', '#sel' + i, function() {
        alert($(this).val());
    });
}

$("#myTab").append(row);
table {
    border: 1px solid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div id="mydiv">

</div>

(另见 this Fiddle)

关于javascript - 动态添加和填充选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180063/

相关文章:

javascript - 如何使用 highcharts 创建列字符,其中每列都有不同的颜色

javascript - JS 和 HTML 不同的 Footer Render

javascript - 如何在 jquery 完成之前停止函数?

javascript - 从 vuex 状态数组中创建计算属性数组以在 v-model 中使用

jquery - 为什么 DOM Ready 事件总是在 requirejs 的 window.onload 事件之后运行?

html - 更改 Bootstrap 表的边框颜色的最佳方法是什么?

JavaScript - 根据每种情况,制作数组

javascript - 单击按钮后未调用Web Audio ScriptNode

javascript - 在 JavaScript 中操作父标签

javascript - 如何在JS中重新定义对象方法?