我正在尝试使用来自GitHub https://github.com/rbayliss/Dropdown-Table-Filter的这个jQuery下拉过滤器插件。就我而言,表格格式如下:
<table id="table_2">
<thead>
<tr>
<th> Items </th>
<th> Quantity </th>
</tr>
</thead>
<tbody>
<tr>
<td> Apple </td>
<td> 20 </td>
</tr>
<tr>
<td> Orange </td>
<td> 20 </td>
</tr>
</tbody>
</table>
因此,重新建模插件以适应这种情况是必要的:
var table = $(this);
$('thead tr th:visible', table).each(function(index) {
var selectbox = $('<select>');
var values = [];
var opts = new Array();
selectbox.append('<option value="--all--">' + $(this).text() + '</option>');
for(var noOfTr = 0; noOfTr<2; noOfTr++) {
var tr = $('tbody tr:eq('+ noOfTr +')',table);
var col = tr.find('td:eq(' + (index) + ')').each(function(index) {
var cellVal = escape($.trim($(this).text()));
if(cellVal.length == 0) {
cellVal = '--empty--';
}
$(this).attr('ddtf-value', cellVal);
if($.inArray(cellVal, values) === -1) {
var cellText = $.trim($(this).text());
if(cellText.length == 0) {cellText = '--Empty--';}
values.push(cellVal);
opts.push({val:cellVal, text:cellText});
}
});
}
}
分配给函数“col”的变量在执行后不包含任何值,而“opts”正在正确填充。请帮我填写col。
答案 0 :(得分:0)
尝试使用:
var col = tr.find('td:eq(' + (noOfTr) + ')').each(function(index) {
而不是:
var col = tr.find('td:eq(' + (index) + ')').each(function(index) {
因为自动增量变量为noOfTr
而非index
。