yadcf 在 exFilterColumn() 之前删除 select 选项

yadcf remove select option before exFilterColumn()

我正在尝试使用 yadcf 0.8.9 从外部过滤器 select 字段中删除 select 选项。在 yadcf 0.6.9 中,我能够在调用 exFilterColumn() 之前删除此选项,但在 0.8.9 中,我必须在调用后删除该选项。

实际上我想做的是强制 select 具有某些在 table 列中的值,并根据该值过滤 table

我似乎无法弄清楚如何从 select 中删除未过滤的可能性并让 table 过滤所选值(第一个或我在代码)。在 0.6.9 中,我删除了 '-1' 值选项,但这在 0.8.9 中似乎不起作用。

建议?

http://codepen.io/louking/pen/ZWYpGM vs http://codepen.io/louking/pen/zqxBLL

html:

<div>
  <span id='yadcfext'></span>
</div>
<table id=tbl>
  <thead>
    <tr>
      <th>col0</th>
      <th>col1</th>
      <th>col2</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>a0</td>
      <td>b0</td>
      <td>c0</td>
    </tr>
     <tr>
      <td>a1</td>
      <td>b1</td>
      <td>c1</td>
    </tr>
  </tbody>
</table>

删除 exFilterColumn 之前的选项

var dt= $('#tbl')
  .dataTable()
  .yadcf([
    {column_number: 0,
     filter_container_id: 'yadcfext'}
  ]);

var selectfilter = '#yadcfext';
$(selectfilter + ' option[value="-1"]').remove();

yadcf.exFilterColumn(dt, [[0,'a1']]);

删除 exFilterColumn() 后的选项

var dt= $('#tbl')
  .dataTable()
  .yadcf([
    {column_number: 0,
     filter_container_id: 'yadcfext'}
  ]);

yadcf.exFilterColumn(dt, [[0,'a1']]);

var selectfilter = '#yadcfext';
$(selectfilter + ' option[value="-1"]').remove();

听起来像是一个新功能:)

所以自从 0.9.0.beta.9 you can use the ommit_default_label option, see your codepen in action

* omit_default_label
    Required:           false
    Type:               boolean
    Default value:      false
    Description:        Prevent yadcf from adding "default_label" (Select value / Select values)
    Note                Currently supported in select / multi_select / custom_func / multi_select_custom_func