+ -
当前位置:首页 → 问答吧 → JQuery中的select设置默认值的问题。。

JQuery中的select设置默认值的问题。。

时间:2011-07-31

来源:互联网

这个操作是从列表页点击修改时出现的一个问题,所有的文本框设置的值都没有问题,只有select在设置值的时候有问题
代码如下:
HTML code

    <select id="ddlShop" name="ddlShop" class="inpt" style="width: 300px;">
    </select>
    <select id="ddlDepository" name="ddlDepository" class="inpt" style="width: 300px;">
    </select>
    <select id="ddlType" name="ddlType" class="inpt" style="width: 300px;">
    </select>



JScript code

        $(function() {
            //BindType();
            $.post("./Handler/B_Commodity_han.ashx", { action: "BindType" }, function(value) {
                $("#ddlType").html(value);
            });
            //BindDepository();
            $.post("./Handler/B_Commodity_han.ashx", { action: "BindDepository" }, function(value) {
                $("#ddlDepository").html(value);
            });
            //BindShop();
            $.post("./Handler/B_Commodity_han.ashx", { action: "BindShop" }, function(value) {
                $("#ddlShop").html(value);
            });
            $.post("./Handler/B_Commodity_han.ashx", { action: "SetControlByObject", id: 2 }, function(value){
                $("#ddlType").attr("value", value.TypeAutoId);
                $("#ddlDepository").attr("value", value.DepositoryAutoId);
                $("#ddlShop").attr("value", value.ShopAutoId);
                //$("#ddlType").attr("value", value.TypeAutoId);
                //$("#ddlDepository").attr("value", value.DepositoryAutoId);
                //$("#ddlShop").attr("value", value.ShopAutoId);
            }, "json");
        });



在post里试过了两种方法给select设置默认显示出来的值,但是只有第二个和第三个有效,第一个(ddlType)始终都没有设置上,而且如果多次按F5刷新的话,可能有时候第三个(ddlShop)也会出现设置不上的情况,这个是为什么啊,有没有什么办法能解决??

作者: evasunny2008   发布时间: 2011-07-31

请求并发的问题
因为ajax是异步的 你同时发了4个ajax请求 相当于4个线程在跑 谁先谁后没有顺序 而在这4个ajax的回调中 最后一个与前三个都有对同一个元素进行的操作 造成操作的覆盖

解决的办法 就是在回调函数中 下发其他的ajax请求

作者: fanchuanzhidu   发布时间: 2011-07-31