效果:http://www.jscode.cn/jscode/js08041601/index.html
代码:http://www.jscode.cn/jave_page/300804727.htm代码太长,上不上来,请见谅。
添加记录总是从左下角加的,而且总是往下加的,不能横着添加。我见IGOOGLE上的效果是从左上角加的。望高手帮改改代码,让它从左上角添加或可以横着添加。

解决方案 »

  1.   

    Index.htm 大概在520行左右,把execute方法换成下面这个
    execute : function (div) {
    //处理table类结构
    var wc = this, parent = wc.parent, json = wc.json, items = div.getElementsByTagName("input"), row, c, i;

    try {

    for (i = 0 ; i < items.length ; i ++) {

    if (items[i].type != "checkbox") continue;
    row = json[items[i].value];

    if ((!!row.row) != items[i].checked) {
    var index = parseInt(items[i].value.substr(2, 1)) - 1;
    if (row.row) 
    parent.remove(row.row); //删除
    else 
    parent.add(parent.table.items[index].add(row.id, 1, false)); //向第一行追加数据
    c = true;
    }

    }

    div.innerHTML = "";
    if (c) parent.set_cookie();

    } catch (exp) {}
    wc.close();
    },
      

  2.   

    首先感谢Free_Wind22:代码很有用,呵呵,收下了。
    请问这一句意思
     var index = parseInt(items[i].value.substr(2, 1)) - 1;
    是不是指取得数组里的第一个字符的值还有,想问一下,添加的时候能否自上而下的添加数据呢?
      

  3.   

    index是获取ID:m_2_2 中间的数字。把400行左右的element_init 函数换成下面这个,就是从上面添加了。element_init : function () {
    //初始化元素
    var wc = this, div = $("root_row").cloneNode(true), el = wc.parent.element;
    if(el.childNodes.length <= 1){
    el.appendChild(div)
    }else{
    el.insertBefore(div, el.childNodes[1]);
    }
    div.style.display = "block";
    return div;
    },
      

  4.   

    element_init : function () {
        //初始化元素
            var wc = this, div = $("root_row").cloneNode(true), el = wc.parent.element;
            if(el.childNodes.length <= 1){
                el.appendChild(div)
            }else{
                el.insertBefore(div, el.childNodes[1]);
            }
            div.style.display = "block";
            return div;
        },
    换成这个后,自上而下的添加数据实现了,不过又发现了一个新问题,向下面的层拉不到最上面去了,只可以新加的往下拉,呵。