Browse Source

Merge pull request #500 from dinatih/dinatih-patch-1

Add data-value attribute for sorting on <td>
文翼 11 years ago
parent
commit
5e9c4d47d7
1 changed files with 6 additions and 3 deletions
  1. 6 3
      src/bootstrap-table.js

+ 6 - 3
src/bootstrap-table.js

@@ -357,6 +357,7 @@
                 // save td's id and class
                 row['_' + field + '_id'] = $(this).attr('id');
                 row['_' + field + '_class'] = $(this).attr('class');
+                row['_' + field + '_data_value'] = $(this).attr('data-value');
             });
             data.push(row);
         });
@@ -496,8 +497,8 @@
 
         if (index !== -1) {
             this.data.sort(function (a, b) {
-                var aa = a[name],
-                    bb = b[name],
+                var aa = a['_' + name + '_data_value'] || a[name],
+                    bb = b['_' + name + '_data_value'] || b[name],
                     value = calculateObjectValue(that.header, that.header.sorters[index], [aa, bb]);
 
                 if (value !== undefined) {
@@ -1043,7 +1044,9 @@
                 if (item['_' + field + '_class']) {
                     class_ = sprintf(' class="%s"', item['_' + field + '_class']);
                 }
-
+                if (item['_' + field + '_data_value']) {
+                    class_ = sprintf(' data-value="%s"', item['_' + field + '_data_value']);
+                }
                 cellStyle = calculateObjectValue(that.header,
                     that.header.cellStyles[j], [value, item, i], cellStyle);
                 if (cellStyle.classes) {