赋值变量to function(jQuery中的每个语句)没有值

时间:2014-03-12 01:21:24

标签: javascript jquery jquery-plugins

我正在尝试使用来自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。

1 个答案:

答案 0 :(得分:0)

尝试使用:

var col = tr.find('td:eq(' + (noOfTr) + ')').each(function(index) {

而不是:

var col = tr.find('td:eq(' + (index) + ')').each(function(index) {

因为自动增量变量为noOfTr而非index