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

时间:2016-02-29 19:08:14

标签: yadcf

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

实际上我要做的是强制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();

1 个答案:

答案 0 :(得分:1)

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

所以,自0.9.0.beta.9以来您可以使用ommit_default_label选项,请参阅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