JQuery jTable 在 table 个单元格上设置参数

JQuery jTable set parameters on table cells

是否可以在 jTable 的 table 单元格上设置参数,像这样?

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

</td>

我知道如何在内部元素上设置参数,但我不知道如何在 table 单元格上设置参数。对于内部元素,像这样:

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'
      }
    }
  });

您的代码显示的是字段输入函数,而不是字段显示函数。输入函数在 create/edit 表单中使用,从不出现在 table 本身中,因此您必须使用显示函数。您的问题出现是因为在创建显示功能时,您要操作的 td 在 DOM.

中尚不存在

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

您当然可以使用显示功能,在显示内容周围创建一个 div 包装器,您可以将 'parameters' 添加到 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 一样容易地找到 td.rockNroll > div 组合。您还没有解释为什么需要向 'td' 本身添加参数。如果你绝对必须在 td 元素本身上有 'parameters',你总是可以使用 jTable recordsLoaded 事件,返回刚刚构造的 table,并提升div 元素上的参数传递给父 td 元素。