使用成功事件ofjquery / ajax来填充和设置dropdownlist值

时间:2013-02-22 07:17:05

标签: ajax web-services jquery asp.net-ajax

我有一个Ajax请求填写编辑表格,如..

function FillLiveDetail(event, LiveID)
{
$.ajax
({
    type: "POST",
    url: MyUrl + '/GetLiveDetail',
    data: '{LiveID: "' + LiveID + '"}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data)
    {
        var LiveDetail = data.d;
        $('#ClassName').val(LiveDetail[0].Title);
        $('#ClassDesc').val(LiveDetail[0].Desc);
        $('#SearchKey').val(LiveDetail[0].Keys);
        $('#Date').val(LiveDetail[0].Date);
        $('#Hour').val(LiveDetail[0].Hours);
        $('#Minute').val(LiveDetail[0].Minuts);
        $('#AM_PM').val(LiveDetail[0].AmPm);
        $('#Duration').val(LiveDetail[0].Duration);
        $('#rdbLivePrivacy).prop('checked',true);
        CategoryList(event, 'MyddlCategory');
        $('#MyddlCategory').val(LiveDetail[0].CategoryID);
    }
});
}

function CategoryList(event, ddl_Category_ID)
{
    var ddl_Category = $('#'+ddl_Category_ID);
    event = event || window.event || e.srcElement;
    event.preventDefault();
    $.ajax
    ({
        type: "POST",
        url: ServiceUrl +'/FillAllCategories',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(data)
        {
            var MyCategoryList = data.d;
            $(ddl_Category).html('<option value="0" selected="selected">All Category</option>'); 
            for(var m=0; m<MyCategoryList.length; m++)
            {
                var row = ['<option value="'+MyCategoryList[m].CategoryID+'">'+MyCategoryList[m].CategoryName+'</option>'].join('\n');
                $(ddl_Category).append(row);
            }
        }
    });
}

我的问题是,我无法更改我的函数CategoryList()的定义,因为我在项目的许多地方使用它...
在此上下文中成功:CategoryList()函数事件成功时触发:FillLiveDetail()函数事件完成,这就是为什么我无法设置MyddlCategory ...的值 请建议我任何有用的东西..

1 个答案:

答案 0 :(得分:0)

关闭此行$('#rdbLivePrivacy').prop('checked',true);

中的选择器引号

尝试将ajax调用的async属性设置为false

$.ajax
({
    type: "POST",
    async: false,
    url: ServiceUrl +'/FillAllCategories',
...