ASP.NET下拉列表转换为jquery变量

时间:2016-10-07 10:33:39

标签: jquery asp.net

我有2个代码,

这是第一个:

    $("#Button1")
    .click(function () {
        var index;            
        var select = $("#DropDownList1");
        var select = document.getElementById("DropDownList1");
        var myindex = ["zero", "one", "two", "three"];
        for (index = 0; index < myindex.length; index++) {
            select.appendChild(new Option(myindex[index]));
        }
    });

这是第二个:

    $("#Button1")
    .click(function () {
        var index;            
        var select = document.getElementById("DropDownList1");
        var myindex = ["zero", "one", "two", "three"];
        for (index = 0; index < myindex.length; index++) {
            select.appendChild(new Option(myindex[index]));
        }
    });

为什么第一个代码不起作用?

    var select = $("#DropDownList1");

我必须将其更改为

    var select = document.getElementById("DropDownList1");

我想将$(“#DropDownList1”)转换为变量。

2 个答案:

答案 0 :(得分:1)

appendChild不是jquery函数。

假设您的第一个代码有一个带有额外document.getElementById的粘贴拼写错误,您可以使用select.get(0).appendChild()将jquery对象转换为DOM元素。

    var index;            
    var select = $("#DropDownList1");
    var myindex = ["zero", "one", "two", "three"];
    for (index = 0; index < myindex.length; index++) {
        select.get(0).appendChild(new Option(myindex[index]));
    }

或者你可以继续使用jquery,例如:

    for (index = 0; index < myindex.length; index++) {
        select.append("<option>" + myindex[index] + "</option>");
    }

答案 1 :(得分:1)

感谢@ liben-m 现在我将我的代码更改为:

        var index;            
        var select = $("#DropDownList1");            
        var myindex = ["zero", "one", "two", "three"];
        for (index = 0; index < myindex.length; index++) {
            select.append("<option>" + myindex[index] + "</option>");
        }