JQuery jTable在表格单元格上设置参数

时间:2017-11-20 11:41:14

标签: jquery jquery-jtable

是否可以在jTable的表格单元格上设置参数,如下所示?

<td data-iuser_key=9499949 data-cuser_lnm='testing' class=userdata>

</td>

我知道如何在内部元素上设置参数,但我不知道如何在表格单元格上设置参数。对于内部元素,如下所示:

input: function (data) {
        if (data.record) {
            return '<input type="text" name="Name" style="width:200px" value="' + data.record.Name + '" />';
        } else {
            return '<input type="text" name="Name" style="width:200px" value="enter your name here" />';
        } 

我的代码:

$('#tblOffers').jtable({
    title: 'Offers',
    paging: true,
    pageSize: 20,
    sorting: true,
    defaultSorting: 'cORAC_NUM DESC',
    actions: {
      listAction: "/SalesOfferInvoiceDeliveryNote/SearchOffers/"
    },        
    fields: {
      cORAC_NUM: {
        key: true,        
        title: 'ORAC number'
      },
      cORAC_DAT: {
        title: 'Date'
      },
      cACCO_NME: {
        title: 'Customer'
      },
      ORAC_GRO_SUM: {
        title: 'Paying'
      }
    }
  });

1 个答案:

答案 0 :(得分:1)

您的代码显示字段输入功能而非字段显示功能。输入函数在创建/编辑表单中使用,并且从不出现在表本身中,因为您必须使用显示功能。您的问题出现了,因为创建显示功能时,您希望操作的td在DOM中尚不存在。

除了显示功能外,还有字段选项listClass,它将该类添加到包含td

您当然可以使用显示功能,围绕显示内容创建div包装,并且可以添加&#39;参数&#39;到div

这样的字段定义如

rockBand: {
   listClass: 'rockNroll',
   display: function (data) {
       var div = $('<div />')
                  .attr('data-iuser_key',9499949)
                  .attr('data-cuser_lnm','testing');
       div.append(data.record.rockBand);
       return div;
   }

}

应生成类似

的DOM
<td class='rockNroll'>
    <div data-iuser_key=9499949 data-cuser_lnm='testing'>
        The rolling Stones
    </div>
</td>

我原以为构建jQuery选择器以便像td.rockNroll > div一样轻松找到td组合就足够了。你还没有解释为什么你需要在'td&#39;中添加参数。本身。如果你绝对必须拥有&#39;参数&#39;在td元素本身上,您始终可以使用jTable recordsLoaded事件返回刚构建的表,并将div元素上的参数提升为父td元素1}}元素。