2016-02-05 50 views
0

我在datatables.js上使用yadcf来填充和过滤列选择国家名单。选择含有例如国家独特的价值观:yadcf - 选择 - 将多个值分割到单元格中的单独行上

奥地利

法国

意大利

美国

英国

的记录可以有国家多个值。例如一个记录可能有“美国”和“英国”。这些国家在细胞像这样显示:

美国,英国

我要为国家的值显示在单元格中单独的行,像这样:

USA

UK

有没有可能这样做?

+0

您想分割表格单元格内的值还是在过滤器选择输入单元格内?如果它在表格本身内部,那么它与yadcf没有关系。 – Daniel

+0

是在表格单元格内。所以大概它会在datatables.js中完成? – AnotherOther

+0

它肯定与yadcf无关,但我认为它甚至与数据表甚至没有关系,而是与你的表格布局本身相关,它取决于你如何安排你的'

'和它的''和​​'它... ...顺便说一句,yadcf可以处理每个单元格的多个值,这要归功于'text_data_delimiter'选项,请参见展示中的第4列http://yadcf-showcase.appspot.com/DOM_source.html – Daniel

回答

1

您可以使用text_data_delimiter: '<br>'只是确保你在YOUT <td>细胞有没有空格,see live sample here

代码片段:

$(document).ready(function(){ 
    oTable = $('#example').dataTable().yadcf([ 
    { 
     column_number : 0, 
     text_data_delimiter: '<br>' 
    }]); 
}); 

HTML:

<table cellpadding="0" cellspacing="0" border="0" class="display" id="example"> 
    <thead> 
     <tr> 
     <th>Some Data</th> 
     <th>More Data</th> 
     <th>Yes/No</th> 
     <th>Values</th> 
     <th>Tags</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr class="odd gradeX"> 
     <td>One<br>Two</td> 
     <td>More Data 11</td> 
     <td>Yes</td> 
     <td>a_value,b_value</td> 
     <td><span class="label lightblue">Tag1</span><span class="label lightblue">Tag2</span></td> 
     </tr> 
     <tr class="even gradeC"> 
     <td>Three<br>Four</td> 
     <td>More Data 22</td> 
     <td>No</td> 
     <td>b_value,c_value</td> 
     <td><span class="label lightblue">Tag1</span><span class="label lightblue">Tag3</span></td> 
     </tr>  
    </tbody> 
    </table> 
+0

嗨,我不能得到这个工作。我失去了我的配置东西'{ \t COLUMN_NUMBER栏:3, \t数据:uniqueListNames, \t SELECT_TYPE: “选择”, \t text_data_delimiter: “
”, \t filter_default_label: “过滤方式列表”, \t filter_reset_button_text:假 }' 这是我的​​ '​​List1中,列表2' – AnotherOther

+0

1)[数据]中的内容(https://github.com/vedmack/yadcf/blob/master/jquery.dataTables .yadcf .js#L48)对于您希望使用预先设定的值来填充筛选器的情况通常很有用(除非使用[append_data_to_table_data](https://github.com/vedmack/yadcf/blob/master/jquery)。 dataTables.yadcf.js#L63)),至于分隔符,看起来你正在使用'td'的值之间的',',没有链接到一个工作样本,我无法帮助你。 – Daniel

+0

我正在使用underscore.js uniq创建一个唯一的“列表名称”数组并将其传递给数据元素: 'uniqueListNames = _.uniq(fullNamesList);' 'yadcf.init(cTbl, \t { \t \t COLUMN_NUMBER栏:3, \t \t text_data_delimiter: “
”, \t \t数据:uniqueListNames, \t \t SELECT_TYPE: “选择”, \t \t filter_default_label: “过滤方式列表”, \t \t filter_reset_button_text:false \t}' text_data_delimiter不适用于任何字符。 – AnotherOther

0

我回来了今天这一点,并解决它在数据表,特别是在'渲染'选项。

如果数据行中有多个国家/地区名称,我解析该数组并添加BR。这使国别名称显示在运输署的不同行上。

'render': function (data, string, row) { 

    var countryNames = ""; 

    $.each(data, function (i, item) { 
     countryNames += item + "<br />"; 
    }) 

    return countyNames; 
} 
相关问题