zhaoshell
zhaoshell
采纳率100%
2014-11-15 16:10

javascript innerHTML问题

已采纳

我想求教一下,就是如何才能使得js追加的数组数据传到后台时不与table数组冲突,例如下面table数组传递数据位single[0].id,single[0].name,single[1].id,single[1].name,那么追加的数组就应该从single[2].id,single[2].name开始传递,这样才能使数据不冲突,但是这个如何实现呢?求哪位大神帮忙解答下哈,感谢!!!下面附上代码:

function addTr(value) { var otable = document.getElementById("table1"); for ( var i = 0, len = value.length; i < len; i++) { var temp = value[i].split("#"); var myTR = otable.insertRow(otable.rows.length); var myTD1 = myTR.insertCell(0); myTD1.innerHTML = "<input type='text' id='mid' readonly='readonly' name='singles["+j+"].id' value="+temp[0]+">"; var myTD2 = myTR.insertCell(1); myTD2.innerHTML = "<input type='text' readonly='readonly' name='singles["+j+"].name' value="+temp[2]+">"; j++;} }

页面table显示代码

编号 名称
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • showbo GoCityPass新加坡曼谷通票 7年前

    通过行数控制input的name生成。。不过行数不能删除。。删除会导致重复

        function addTr(value) {
        var otable = document.getElementById("table1");
        var j = otable.rows.length;//////////
        for (var i = 0, len = value.length; i < len; i++) {
            var temp = value[i].split("#");
            var myTR = otable.insertRow(otable.rows.length);
            var myTD1 = myTR.insertCell(0);
            myTD1.innerHTML = "<input type='text' id='mid' readonly='readonly' name='singles[" + j + "].id' value=" + temp[0] + ">";
            var myTD2 = myTR.insertCell(1);
            myTD2.innerHTML = "<input type='text' readonly='readonly' name='singles[" + j + "].name' value=" + temp[2] + ">";
        }
    }
    

    你的代码不是已经用j控制name生成了吗?一直递增就好了。。只不过删除的时候会出现空项,你在服务器端要判断过

    点赞 评论 复制链接分享
  • freedamjustice freedamjustice 7年前

    用var single = new Array(); 然后将你的变量push进去。

    点赞 评论 复制链接分享

相关推荐