2016-02-29 44 views
1

我想从外部过滤器选择字段使用yadcf 0.8.9删除选择选项。在yadcf 0.6.9中,我能够在呼叫exFilterColumn()之前删除此选项,但在0.8.9中,我必须在呼叫后删除选项。yadcf删除exFilterColumn()之前的选择选项

其实什么,我试图做的是强制选择有一定的值,它是在表列,并已表过滤该值

我似乎无法弄清楚如何去除来自select的未经过滤的可能性,并根据选择的值过滤表(无论是第一个还是我在代码中挑选的)。在0.6.9中,我删除了'-1'值选项,但在0.8.9中似乎不起作用。

建议?

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

HTML:exFilterColumn

<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> 

移除选项

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.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 
+0

爽,谢谢!呃,0.9.0?只是好奇你的决定是否碰到小修订号 - 你是否对方法/函数语义进行了修改?我从exFilterColumns()语义变化在0.6.9和0.8.8之间被烧了一点(不知道什么时候这些改变了)。 –

+0

一般而言,我试图不改变任何现有的API函数,但有时我没有选择,无论如何,变化是更好的。轻微的颠簸是每个提交/新功能/错误修复,并在某些时候,当我在心情我正在做一个大的发布:) – Daniel

+0

嘿,应该提到这一点,但省略不拼写与两个米:) :) –