动态生成选项后设置Dropdownlist值

时间:2014-02-19 11:19:18

标签: jquery

我有这个代码来填充下拉列表

        $("#btnEditInfo").click(function (e) {

            e.preventDefault();

            $("#ddlLocations").empty().append($("<option></option>").val("[-]").html("[-- Please Select Location --]")); ;
            populateLocationDDL();
            $("#ddlLocations").val(4);

这是populateLocationDDL

 function populateLocationDDL() {

        $.ajax({
            type: "POST",
            url: "adminc.aspx/GetLocationList",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (arten) {
                $.each(arten.d, function (val1, text) {
                    $("#ddlLocations").append($("<option></option>").val(text.LocationID).html(text.Name));
                });
                $("#ddlLocations").append($("<option></option>").val(arten.length + 1).html("Other..."));
            }
        });
    }

现在我希望能够在下拉列表中选择第4个选项..但它不起作用

任何帮助都将受到高度赞赏.. 这是小提琴 jsfiddle.net/yYZ48
感谢

2 个答案:

答案 0 :(得分:0)

试试这个:

$("#ddlLocations option:eq(3)").attr('selected', 'selected');

或者这个:

$("#ddlLocations").val($("#ddlLocations option:eq(3)").val());

答案 1 :(得分:0)

我在这里得到了答案 Check Here

我将.val()代码移动到ajax返回回调中,它就像一个魅力

            $.ajax({
            type: "POST",
            url: "adminc.aspx/GetLocationList",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (arten) {
                $.each(arten.d, function (val1, text) {
                    $("#ddlLocations").append($("<option></option>").val(text.LocationID).html(text.Name));
                });
                $("#ddlLocations").append($("<option></option>").val(arten.length + 1).html("Other..."));

                // Select Location Based on USer ID
                $("#ddlLocations").val("3");
                PopulateLocationDetails();
            }
        });