首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jQuery动态加载Select的项目后没法设置默认选中

2013-04-09 
jQuery动态加载Select的项目后无法设置默认选中我用jQuery定义了一个function动态加载了Select的所有项目,

jQuery动态加载Select的项目后无法设置默认选中
我用jQuery定义了一个function动态加载了Select的所有项目,然后在另一个function中调用这个函数后再使用$("#XXXX").val(1)这样的方式实现选中Select中的某项,无法实现。请各位帮忙看看;代码如下:

CookBook.Cuisine = function () {
    $.ajax({
        type: "POST",
        contentType: "application/json;utf-8",
        dataType: "json",
        data: "{}",
        url: "../CookBook/CookBook.asmx/CookBookcCuisine",
        success: function (result) {
            var json = eval("(" + result.d + ")");
            var html="" ;
            $.each(json, function () {
                html += "<option value=" + this.cid + ">" + this.cuisine + "</option>\r\n";
            });
            $("#cCuisine").append(html);
        }
    });
};

这个函数实现Select下拉列表的动态加载
CookBook.Cuisine();
                $("#cCuisine").val("1");

在另外一个函数里面先调用之前定义的函数,然后通过val来实现选中,不行,通过attr也不行,请大家指点一下。
[解决办法]
ajax异步有时间问题,在ajax完全加载完成之后,设置选中才可以。你看看是不是时间差的问题
[解决办法]
 $.ajax({
        type: "POST",async:false,//////改为同步


要么放到success回调里面设置

CookBook.Cuisine = function () {
    $.ajax({
        type: "POST",
        contentType: "application/json;utf-8",
        dataType: "json",
        data: "{}",
        url: "../CookBook/CookBook.asmx/CookBookcCuisine",
        success: function (result) {
            var json = eval("(" + result.d + ")");
            var html="" ;
            $.each(json, function () {
                html += "<option value=" + this.cid + ">" + this.cuisine + "</option>\r\n";
            });
            $("#cCuisine").append(html);
$("#cCuisine").val("1");//////////////////////
        }
    });
};

热点排行