使用json在post back下拉数据丢失的绑定下拉列表

时间:2015-03-25 08:53:53

标签: asp.net

function fill_CountryPod(Id) {
            try {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    data3: "{}",
                    url: '../Handler.ashx?act=data7&val=' + Id,
                    dataType: "json",
                    async: false,
                    success: function (data3) {
                        var TotalItem = data3.length;
                        $("#<%= DDLPlaceOfDelivery.ClientID  %>").empty();
                        if (TotalItem > 0) {
                            for (var i = 0; i < TotalItem; i++) {
                                $('#<%=DDLPlaceOfDelivery.ClientID %>').append('<option value="' + data3[i].Value + '">' + data3[i].Text + '</option>');
                            }

我的代码是在回发下拉列表变为空白后绑定下拉列表

$('#<%=PlaceOfDeliveryText.ClientID %>').val($('<%=DDLPlaceOfDelivery.ClientID %> option:selected').text());
                        }
                    }
                });
            }
            catch (e) {
                alert(e);
            }
        }

1 个答案:

答案 0 :(得分:0)

@Abhishek,我建议对你的这一行进行一些小改动。

var TotalItem = data3.length;

我建议您将 data3.length 更改为 Object.keys(data3).length 。如下所示:

var TotalItem = Object.keys(data3).length;

这是因为,你的Json字符串的长度不能通过简单的data3.length获取,请尝试我指定的更改。

希望这会有所帮助!!