通过js操作html table取不到新输入到input框的值?解决方法

通过js操作html table取不到新输入到input框的值?
本帖最后由 you8626 于 2014-07-01 10:16:04 编辑
首先我通过js给table新增了一行

    var table = document.getElementById("sample-table-1");
    var row = table.insertRow(document.getElementById("sample-table-1").rows.length);

    var rowCount=document.getElementById("sample-table-1").rows.length;
    var countCell=document.getElementById("sample-table-1").rows.item(0).cells.length;

    var cell0=row.insertCell(0);
    cell0.innerHTML="<label><input type='checkbox' class='ace' checked='checked'/><span class='lbl'></span></label>"
    var cell1=row.insertCell(1);
    cell1.innerHTML="<input type='text' id='id' name='id' value='' onchange='changeValue(this)'>";
    var cell2=row.insertCell(2);
    cell2.innerHTML="<input type='text' id='userId' name='userId' value=''>";
    var cell3=row.insertCell(3);
    cell3.innerHTML="<input type='text' id='status' name='status' value=''>";
    var cell4=row.insertCell(4);
    cell4.innerHTML="<input type='text' id='datetime' name='datetime' readonly>";
    var cell5=row.insertCell(5);
    cell5.innerHTML="<input type='text' id='memo' name='memo' value=''>";


然后,在input text -- id 中 输入新的值
通过js操作html table取不到新输入到input框的值?解决方法

接着点击新增,调用addRow()方法,想要获取id的值取不到

    var table = document.getElementById("sample-table-1");
    var rows=document.getElementById("sample-table-1").rows;
    var listOrder = [];

    for(var i=0; i<rows.length; i++){
        if($(rows[i].cells[0].innerHTML).children('input').attr("checked")=='checked'){
            var data = {
                "id": $(rows[i].cells[1].innerHTML).text(),
                "userId": $(rows[i].cells[2].innerHTML).text(),
                "status": $(rows[i].cells[3].innerHTML).text(),
                "datetime": "",
                "memo": $(rows[i].cells[5].innerHTML).text()
            }
            listOrder.push(data);
        }
    }



$(rows[i].cells[1].innerHTML)取得的对象如下

[
<input type=​"text" id=​"id" name=​"id" value>​
]



我觉得是不是我在js里面给table insertRow以后,还需要怎么给他更新下之类的,然后我输入值的时候,value就能取到了?

求哪位大侠帮帮我










------解决方案--------------------
构建方法略奇葩。。jquery选择器对innerhtml可能不能正常封装成一个对象吧。。取值你依然用document方法就行
------解决方案--------------------
input的内容不是保存到html里面的  innerHtml本身没有这个属性值所以没值