如何在动态表

时间:2015-08-28 08:42:45

标签: javascript jquery json

使用json响应添加表行数据。这是我的代码

var i;
for (i = 0; i < result.length; i++) {

    $.get('LoadserviceSplit', {
        "sectcode" : result[i]
    },
        function (jsonResponse) {
        if (jsonResponse != null) {
            var table2 = $("#table_assign");
            $.each(jsonResponse, function (key, value) {
                var rowNew = $("<tr><td></td><td></td><td></td><td></td><td></td><td></td></tr>");
                rowNew.children().eq(0).text(value['serviceId']);
                rowNew.children().eq(1).text(value['title']);
                rowNew.children().eq(2).html('<input type="text" id="date_set" name="date_set"/>');
                rowNew.children().eq(3).html('<input type="text" id="date_set1" name="date_set1"/>');
                rowNew.children().eq(4).html('<input type="text" id="date_set2" name="date_set2"/>');
                rowNew.children().eq(5).html('<select class="status1" id="status1">');

                rowNew.appendTo(table2);

            });
        }
    });

    var pass_unit_code = "001";
    $.get('LoadDivisionCodeServlet', { //call LoadDivisionCodeServlet controller
        unitCode : pass_unit_code //pass the value of "sample" to unitCode:
    }, function (jsonResponse) { //json response
        var select = $('#status1'); //select #status1 option
        select.find('option').remove(); //remoev all item in #divcode option
        $.each(jsonResponse, function (index, value) {
            $('<option>').val(value).text(value).appendTo(select); //response from JSON in array value{column:value,column:value,column:value}
        });
    });

}

除了select标签部分外,它工作正常。只有第一行表有值。其余的没有价值。我希望表中的所有下拉列表都具有相同的值..任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

看看

override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell! { let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) as! MYCustomCell cell.setTitle(titles[indexPath.row]) cell.setSelected(selectedItems[indexPath.row]) cell.delegate = self return cell }

您正在rowNew.children().eq(5).html('<select class="status1" id="status1">');中创建新的select元素,并为所有这些元素分配相同的ID $.each

然后,您选择status1 select id的{​​{1}}元素

status1

因此,只会选择第一个var select = $('#status1'); //select #status1 option元素。

编辑:

你的问题并不完全清楚。

但是,您可以在每个select

中为选择添加不同的ID

替换此

<td>

类似

rowNew.children().eq(5).html('<select class="status1" id="status1">');

所以这将有不同的ID。