2 zhaoshell zhaoshell 于 2014.11.16 00: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
showbo   Ds   Rxr 2014.11.18 10:04
已采纳

通过行数控制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   2014.11.17 17:38

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!