使用jquery动态填充下拉列表

时间:2015-02-24 21:40:44

标签: javascript jquery asp.net sharepoint

我使用的是SharePoint 2010,jquery-1.9.0.min.js,需要根据用户填充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>

1 个答案:

答案 0 :(得分:1)

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

...以及来自博客的代码示例。在你的情况下,&#34; #ddlGender&#34;应该使用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");
        }
    });
});