a.onchange
b....b这不是在a选中后执行的么

解决方案 »

  1.   

    需要b的宽度而已
    a.onchange()
    {
    //绑定b
    var width = b.style.offsetWidth
    }
      

  2.   

    作一下事件的延迟,可以达到类似的效果!setTimeOut(function(){
    //具体业务,不作讨论
    },100);
      

  3.   

    function changeStock()
    {
    alert($("dd_colStockNoNew").offsetWidth );
        $("dd_colStockNoNew").options.length = 0;
        for(var i=0;i<$("dd_colStockNo").options.length;i++)
        {
                    if($("dd_colStockNo").value !=$("dd_colStockNo").options[i].value)
                    {
                $("dd_colStockNoNew").options.add(new Option($("dd_colStockNo").options[i].text,$("dd_colStockNo").options[i].value));
            }
        }
         alert($("dd_colStockNoNew").offsetWidth );
    }
    可以读出变化后的宽度啊,我做过测试。
    不知道你的B下拉框对象的item变化是怎么变化的?
      

  4.   


    This seems works 。3x~~
      

  5.   

    // 重新设置DropDownList
    // A.option.length = 0
    // 附加Option到A上。    prjVal = obj.options[obj.selectedIndex].value;
        num = obj.id.substring(31);    varRowNum = parseInt(num);
        
        var addattr = document.getElementById("ctl00_DataMain_DrltWltv_AdditionalAttribute"+num);
        var td=document.getElementById("InputTbl").rows[2].cells[varRowNum];
        var inputTd = document.getElementById("ctl00_DataMain_gvDirectWork").rows[0].cells[varRowNum];
        inputTd.width = addattr.offsetWidth;
    可能是设置DropDownList的方式不同。
      

  6.   

    可能吧,不知道你B下拉框的item改变是怎么获取值的,如果是ajax,是会延迟,这个时候采用时间延迟,
    不过这个有弊端,就是很难设好这个延迟时间长度!
    如果是在客户段改变下拉框的值,在改变后,立刻就可以读出新的宽度的。