从数据库动态取出的记录,已排序,本身并不是一颗树,只是结构象树:),然后我把它画在页面上而已,金额栏是用户输入的,非末级编码的金额栏是readonly的,可以从数据库取出末级标志

解决方案 »

  1.   

    云,如果你使用了功能比较强大的javascript tree,实现这个应该很简单的,就是映射每个节点,然后提供bubble的实现,非顶级节点直接修改数据就ok了,目前我没有实现这个,不过你可以参考我前段日子贴出来的关于tree的实现代码,应该很easy
      

  2.   

    陈年旧帐,结了吧。
    测试页面代码片断:
    <script>
    function cal(bm,i,k,l)
    {      
    je=0;
    while(i<l-1){
    i=i+1;
    bm2=t.rows[i].cells[1].innerText;                     
    if((bm2.indexOf(bm)==0)&&(bm2.length-bm.length==2)) {
    mjbz=t.rows[i].cells[0].innerText;
    if (mjbz=="0") 
    je=je+cal(bm2,i,i,l);
    else 
    je=je+parseFloat(t.rows[i].cells[2].childNodes(0).value);   }
    }
    if ((k>-1)&&(k<l))
    t.rows[k].cells[2].childNodes(0).value=je;
    return je;
    }
    function cal1(){
    l=t.rows.length;
    je=cal('',-1,-1,l);
    }
    </script>
    <table id=t onkeyup='cal1()'>
    <tr>
    <td>0</td><td>01</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>0</td><td>0101</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>010101</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0102</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0103</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>0</td><td>02</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0201</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0202</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0203</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0204</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>0</td><td>03</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>0301</td><td><input type=text name=hds value="0"></td>
    </tr>
    <tr>
    <td>1</td><td>04</td><td><input type=text name=hds value="0"></td>
    </tr></table>