如何检索在html javascript中动态生成的值

时间:2013-04-08 13:59:22

标签: javascript database listbox

我有一个动态生成的表,有两列使用javascript。第一列是从列表框中选择的项目列表,第二列是输入数量的空白文本框。 现在我想要检索要插入数据库的表的第一列的值。请帮助我完成它的工作方式。到目前为止,我做过类似的事情。我尝试使用隐藏文本框或隐藏文本框的标签。但是无法得到结果。 (chem_sel2是我的列表框的名称)

function fun1(){

var my_chem_qty_div = document.getElementById("chem_qty");
var table = document.createElement('TABLE');
table.id='sel_chem_table';
table.border='1';
table.align='center';
table.style.width='100%';
var tableBody = document.createElement('TBODY');
table.appendChild(tableBody);

var chem_sel2_combo =document.getElementById("chem_sel2");

for(var k=0;k<chem_sel2_combo.options.length;k++)
        {
         var tr = document.createElement('TR');
         tableBody.appendChild(tr);

        /*  var td = document.createElement('TD');
        td.width='30';
        td.appendChild(document.createTextNode(chem_sel2_combo.options[k].value));
        tr.appendChild(td);*/

        var td1 = document.createElement('TD');
        var lbl= document.createElement('label');
        var txt=document.createElement('input');
        txt.setAttribute('id','selctd_chem');
        txt.setAttribute('value',chem_sel2_combo.options[k].value);
       // txt.setAttribute('type','hidden');
        lbl.setAttribute('id', 'lbl_txt');
        lbl.setAttribute('value', chem_sel2_combo.options[k].value);
        td1.width='40';

        td1.appendChild(txt);
        td1.appendChild(lbl);
        //td1.setAttribute('type', 'hidden');
        tr.appendChild(td1);

        var td2 = document.createElement('TD');
        var txt= document.createElement('input');
        txt.setAttribute('id',"qty_text");
        txt.setAttribute('type','text');
        td2.width='30';
        td2.appendChild(txt);
        tr.appendChild(td2);
}
}

1 个答案:

答案 0 :(得分:1)

tableBody.appendChild(tr);移动到循环的末尾。在向tr添加任何内容之前,您将tr附加到表中。

for (...) {
    var tr = ...;
    tr.append(...);
    tableBody.append(tr);
}

而不是:

for (...) {
    var tr = ...;
    tableBody.append(tr);
    tr.append(...);
}