如何动态创建Drop Down?

时间:2013-12-31 12:44:53

标签: javascript jquery drop-down-menu

我正在尝试填充下拉菜单,如果根目录下降有一些变化,但它不起作用。 代码:

$('#book_selection').change(function(){
    alert("changed");
    var option = document.createElement("option");
    option.text = 'df';
    option.value = 'df';
    var temp = document.createElement('select');
    temp.appendChild(option);
    var root = document.getElementById('book_selection');
    root.appendChild(temp);
    alert("done");
});

6 个答案:

答案 0 :(得分:1)

$(function () {
    $("#book_selection").change(function () {
        $(this).after($("<select>").append($("<option>", {
            value: 'df',
            text: 'df'
        })));
    });
});

DEMO

答案 1 :(得分:1)

我相信这就是你所追求的,如果改变第一个菜单,则添加一个新的选择菜单:

$('#book_selection').change(function() {
    $("<select />").append($("<option>", {"value": "me", "text": "me"})).insertAfter($(this));
});

当然,您需要添加自己的逻辑或提供一个数组,以了解您想要的新选项。

http://jsfiddle.net/6EzZs/

答案 2 :(得分:0)

尝试使用

$('#book_selection').change(function(){
            $(this).next('<select><option>option1</option><option>option2</option></select>')
        });

答案 3 :(得分:0)

试试这个。

$('#book_selection').change(function(){
    var newSelect=document.createElement('select');
    var selectHTML="";
    for(i=0; i<choices.length; i=i+1){
        selectHTML+= "<option value='"+choices[i]+"'>"+choices[i]+"</option>";
    }

    newSelect.innerHTML= selectHTML;
    document.getElementById('book_selection').appendChild(newSelect);
});

检查一下 - http://jsfiddle.net/7Gwbw/

答案 4 :(得分:0)

简单!!

$('#book_selection').change(function(){
     alert("changed");
     $('#book_selection').append(new Option("text","val"))
     alert("done !!"); 
});

答案 5 :(得分:0)

如果要在更改下拉列表时添加项目,则至少应包含前一个元素。

如果你想在点击它时填写它是代码:

 $('#book_selection').click(function(){
       alert("changed");
       $('#book_selection').append('<option value="df">df</option>');
       alert("done");
 });