使用jquery动态填充下拉列表

Populate dropdown list dynamically using jquery

本文关键字:下拉列表 填充 动态 jquery 使用      更新时间:2024-05-08

我使用的是SharePoint 2010,jquery-1.9.0.min.js,需要根据用户的AD组填充asp下拉列表。我已经有了获取AD组和需要进入下拉列表的值的代码。下拉列表将包含2到4个项目(文本和值)的任意组合,然后所选项目应流入同一网页上的web部件。我是SharePoint/jquery的新手,不知道如何动态设置下拉列表选项。我用伪造的文本和值设置了下拉列表,需要用每个用户的有效值替换它。如果可能的话,我想使用jquery。如果还有其他更简单的方法,请告诉我。如果需要,我需要知道如何添加1或2个附加选项。

<asp:DropDownList runat="server" id="DropDownList1" AutoPostBack="True">
                            <asp:ListItem value="06">Fac1</asp:ListItem>
                            <asp:ListItem value ="07">Fac2</asp:ListItem>
                        </asp:DropDownList>

这里有一个很好的例子:http://www.joe-stevens.com/2010/02/23/populate-a-select-dropdown-list-using-jquery-and-ajax/

以及博客中的代码示例。在您的情况下,"#ddlGender"应该用DropDownList控件的.ClientID属性填充,您需要调整呼叫和处理以适应您的具体情况:

$().ready(function() {
$.ajax({
    type: "POST",
    url: "Default.aspx/GetGenders",
    data: "{}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
        success: function(msg) {
            $("#ddlGender").get(0).options.length = 0;
            $("#ddlGender").get(0).options[0] = new Option("Select gender", "-1");   
            $.each(msg.d, function(index, item) {
                $("#ddlGender").get(0).options[$("#ddlGender").get(0).options.length] 
                      = new Option(item.Display, item.Value);
            });
        },
        error: function() {
            alert("Failed to load genders");
        }
    });
});