javascript - 使用 Jquery 在选择标签中插入动态选项

标签 javascript jquery html jquery-selectors

我写了这个jquery代码:

$(document).ready(function(){
    $(document).on('change', '.prova > .target', function() { 
    $('div').removeClass('prova');
    $(this).parent().after($('<br>'), $('<div>', {"class": 'prova'}).append(
        $('<select>', {"class": 'target'}).append(        
            $('<option>', {value: 'option1', text: 'Option 1'}),
            $('<option>', {value: 'option2', text: 'Option 2'})      
            ),$('<input>', {type: 'number', style: 'width: 35px', min: '1', max: '99', value: '1'}),
        $('<button>', {type: 'button' , "class": 'remove_item', text: 'delete' })));
    });    
});

完整示例 here

我的代码的目的如下:

每次从<select>中选择一个新选项时(仅最后一项)新增<select>已创建。

现在我想添加一个动态选项,而不是从 jquery 代码添加的静态选项。例如,假设我有

var obj = {
  "option1": "Option 1",
  "option2": "Option 2"
};

如何在我的 jquery 代码中集成上面列出的选项而不是静态插入:

...
$('<option>', {value: 'option1', text: 'Option 1'}),
$('<option>', {value: 'option2', text: 'Option 2'}) 
...

最佳答案

你可以这样做:

var $mySelect = $('<select>', {
    class: 'target'
});
$.each(obj, function (val, text) {
    $mySelect.append($('<option />', {
        value: val,
        text: text
    }));
});
var $input = $('<input>', {
    type: 'number',
    style: 'width: 35px',
    min: '1',
    max: '99',
    value: '1'
});

var $button = $('<button>', {
    type: 'button',
    class: 'remove_item',
    text: 'delete'
});

$(this).parent().after($('<br>', {
    class: 'acapo'
}), $('<div>', {
    class: 'prova'
}).append($mySelect, $input, $button));

FIDDLE DEMO

关于javascript - 使用 Jquery 在选择标签中插入动态选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17125852/

相关文章:

加载后Javascript进度条清除值

javascript - 在 ng-repeat 中使用动态范围变量名称

html - 根据类使导航下划线动画化

JavaScript:如何使用 fillRect 使用 Canvas 绘制多个矩形?

javascript - 使用 JS 循环隐藏显示多个表单字段

javascript - 在ajax中设置请求头

javascript - jQuery Accordion/Tabs - 在加载内容时调用不同的函数

javascript - 可以删除非 var 变量,但不能删除 var 声明的变量?

javascript - 单击 Jquery 更改链接颜色

javascript - jQuery,如何动画覆盖不透明度,背景图像