2015-05-14 74 views
0

用jQuery datables排序,很容易,但圖像有圖像和「 - 」有點困難。我設法做字符串,日期和int但圖像我想不出反正jQuery數據表格圖像排序

我真正想要的是排序圖像,並留下具有價值排「 - 」在底部,

http://jsfiddle.net/CYubV/73/

JS

$.extend($.fn.dataTableExt.oSort, { 
    "date-eu-asc": function (a, b) { 
     if (a == '-') return 1; 
     else if (b == '-') return -1; 
     else { 
      //return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 
      // what going to go here ? 
     } 
    }, 

     "date-eu-desc": function (a, b) { 
     if (a == '-') return 1; 
     else if (b == '-') return -1; 
     else { 
      //return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 
      // what going to go here ? 
     } 
    } 
}); 

$('#table').dataTable({ 
    "aoColumns": [null, { 
     type: 'date-eu', 
     targets: 0 
    }] 
}); 

HTML

<table id="table"> 
    <thead> 
     <tr> 
      <th>Normal</th> 
      <th>Image</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>5</td> 
      <td data-order=2> 
       <img src='http://t1.gstatic.com/images?q=tbn:ANd9GcTU-gTaS7b67Ii3MMFaIRNQBdCinr9tNrU31GakpQGq9zok7cjKFg' /> 
      </td> 
     </tr> 
     <tr> 
      <td>-</td> 
      <td>-</td> 
     </tr> 
     <tr> 
      <td>10</td> 
      <td data-order=1> 
       <img src='http://www.fancyicons.com/free-icons/112/must-have/png/16/stock_index_down_16.png' /> 
      </td> 
     </tr> 
     <tr> 
      <td>20</td> 
      <td>-</td> 
     </tr> 
    </tbody> 
</table> 

回答

0

我做到了現在的工作我自己,

http://jsfiddle.net/CYubV/76/

HTML

<table id="table"> 
    <thead> 
     <tr> 
      <th>Normal</th> 
      <th>Image</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>5</td> 
      <td data-order=2> 
       <img src='http://t1.gstatic.com/images?q=tbn:ANd9GcTU-gTaS7b67Ii3MMFaIRNQBdCinr9tNrU31GakpQGq9zok7cjKFg' /> 
      </td> 
     </tr> 
     <tr> 
      <td>-</td> 
      <td data-order='-'>-</td> 
     </tr> 
     <tr> 
      <td>10</td> 
      <td data-order=1> 
       <img src='http://www.fancyicons.com/free-icons/112/must-have/png/16/stock_index_down_16.png' /> 
      </td> 
     </tr> 
     <tr> 
      <td>20</td> 
      <td data-order='-'>-</td> 
     </tr> 
    </tbody> 
</table> 

JS

$.extend($.fn.dataTableExt.oSort, { 
    "date-eu-asc": function (a, b) { 
     if (a == '-') return 1; 
     else if (b == '-') return -1; 
     else { 
      return ((a < b) ? -1 : ((a > b) ? 1 : 0)); 
     } 
    }, 

     "date-eu-desc": function (a, b) { 
     if (a == '-') return 1; 
     else if (b == '-') return -1; 
     else { 
      return ((a < b) ? 1 : ((a > b) ? -1 : 0)); 
     } 
    } 
}); 

$('#table').dataTable({ 
    "aoColumns": [null, { 
     type: 'date-eu', 
     targets: 0 
    }] 
}); 

爲我想保留在底部的行添加了data-order =「 - 」。