如何更新表下的当前值

时间:2016-11-22 12:21:36

标签: jquery

目前 SNO 列的类型为元素(输入类型文本)。 是否可以像公司列一样具有相同的外观

我试过

  var orderid = 'order_' + incrementi;
                html += '<tr id=' + incrementi + '  company_id=' + company_id + ' style="cursor: move;">\
      <td id=' + orderid + '  style="vertical-align: middle;">' +  incrementi  + '</td>\n\
             <td style="vertical-align: middle;">' + company_name + '</td>\n\
             <td style="vertical-align: middle;">' + company_author + '</td>\n\
            </tr>'

但我在回调函数中遇到的问题,在拖动完成时调用

$("#sort tbody").on("sortupdate", function(event, ui)
{
        $('#sort tbody tr').each(function()
        {
                var tr_id = $(this).attr('id');
                $("#order_" + tr_id).val($(this).index() + 1)
        });
});

http://jsfiddle.net/z74VH/17/

2 个答案:

答案 0 :(得分:1)

只需用纯文本替换input元素,然后将id应用于 SNO td。然后更改sortupdate事件以更新td文本而不是输入值:

function allPacsDisplayHTML()
{
        var information = response.pacs_order_of_dispaly;
        var html = '';
        for (var i = 0; i < information.length; i++)
        {
                var company_id = information[i].company_id;
                var orderdp = information[i].order_of_display;
                var company_name = information[i].company_name;
                var company_author = information[i].company_author;
                var incrementi = i + 1;
                var orderid = 'order_' + incrementi;
                html += '<tr id="' + incrementi + '"  company_id="' + company_id + '" style="cursor: move;">\
             <td style="vertical-align: middle;" id="'+orderid+'">'+incrementi+'</td>\n\
             <td style="vertical-align: middle;">' + company_name + '</td>\n\
             <td style="vertical-align: middle;">' + company_author + '</td>\n\
            </tr>'
        }
        $("#sort tbody").html(html);
}

$("#sort tbody").on("sortupdate", function(event, ui)
{
        $('#sort tbody tr').each(function()
        {
                var tr_id = $(this).attr('id');
                $("#order_" + tr_id).text($(this).index() + 1);
        });
});

检查此更新的jsFiddle

答案 1 :(得分:0)

试试这个,你需要删除你的输入元素并在td元素上应用id。

更改您的SNO td并按如下方式对其应用订单ID

<td id=" + orderid + ">' + incrementi + '</td>\n\

然后在jQuery上设置该td的值,

$('#sort tbody tr').each(function()
        {
                var tr_id = $(this).attr('id');
                $("td#order_" + tr_id).html($(this).index() + 1)
        });

小提琴:http://jsfiddle.net/z74VH/19/