动态地为html表行中的每个选择框添加选项

时间:2017-11-29 13:00:07

标签: javascript jquery html dynamic

我有一个动态创建的HTML表。在每一行都有一个下拉列表,我需要在下拉列表中添加选项。但是,我的代码只会向第一行添加值。

以下是我创建表格并尝试添加选项的方法。

        $.post(     

       'dataform.php',
        { functionname: JSON.stringify('operation'), args:part},
        function(response) {
        result = JSON.parse(response);



            block = []
            for (var item in result){

              var objectItem = result[item];

          var opnum = objectItem.opnum;
          var opdesc = objectItem.opdesc;
          var wc = objectItem.wc;
          var sel = document.createElement("select");
              sel.type = "select";
              sel.id = "sel";
              sel.value = wc;
          var activity = objectItem.activity;
          var machine = objectItem.machine;
          var direct_labor = objectItem.direct_labor;

            block.push(opnum);
            block.push(opdesc);
            block.push(wc);
            block.push(sel);
            block.push(activity);
            block.push(machine);
            block.push(direct_labor);
            ops.push(block);
            block = [];

                }

            for (var i = 0; i < ops.length; i++) {
            tr = document.createElement('tr');
            tr.appendChild(document.createElement('td'));
            tr.appendChild(document.createElement('td'));
            tr.appendChild(document.createElement('td'));
            tr.appendChild(document.createElement('td'));
            tr.appendChild(document.createElement('td'));
            tr.appendChild(document.createElement('td')); 



            tr.cells[0].appendChild(document.createTextNode(ops[i][0]));
            tr.cells[1].appendChild(document.createTextNode(ops[i][1]));
            tr.cells[2].appendChild(ops[i][3]);
            tr.cells[3].appendChild(document.createTextNode(ops[i][4]));
            tr.cells[4].appendChild(document.createTextNode(ops[i][5])); 
            tr.cells[5].appendChild(document.createTextNode(ops[i][6]));
            table.appendChild(tr);

            }

            tablearea.appendChild(table);           


        }, 
    )

$.post(
    'dataform.php',
    {functionname: JSON.stringify('wc')},
    function(response) {
        result = JSON.parse(response);

            block = []
            for (var item in result){

            var objectItem = result[item];

            var wrkc = objectItem.wc
            var act_key = objectItem.activity;

            debugger;
            $.each($('#sel').append($("<option></option>").html(wrkc)));

        }


    }

)   


}) 

我已经尝试在每次创建单元格时附加选项并且我得到相同的结果。

非常感谢任何帮助。

谢谢!

1 个答案:

答案 0 :(得分:0)

('#sel') ID选择器在内部使用document.getElementById(),它只能返回一个元素。所以它只会增加一个。如果要将其附加到包含所述类的每个元素,请使用该类。