0

我有一个 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...的值
请建议我任何可能有用的东西..

4

1 回答 1

0

关闭此行中的选择器引号$('#rdbLivePrivacy').prop('checked',true);

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

$.ajax
({
    type: "POST",
    async: false,
    url: ServiceUrl +'/FillAllCategories',
...
于 2013-02-22T12:50:47.577 回答