ソースを参照

Fix #33: update the switchable cloumn option.

zhixin 11 年 前
コミット
e9f957974d
3 ファイル変更10 行追加11 行削除
  1. 1 0
      docs/documentation.html
  2. 1 1
      docs/examples.html
  3. 8 10
      src/bootstrap-table.js

+ 1 - 0
docs/documentation.html

@@ -185,6 +185,7 @@
         sortable: false,
         order: 'asc', // asc, desc
         visible: true,
+        switchable: true,
         formatter: undefined,
         sorter: undefined
     });

+ 1 - 1
docs/examples.html

@@ -328,7 +328,7 @@
                     <h1 id="show-columns-table">Show Columns Table</h1>
                 </div>
                 <div class="bs-example">
-                    <table data-toggle="table" data-url="data3.json" data-height="246" data-show-columns="true" data-id-field="id" data-minimun-count-columns="3">
+                    <table data-toggle="table" data-url="data3.json" data-height="246" data-show-columns="true" data-id-field="id">
                         <thead>
                         <tr>
                             <th data-field="state" data-radio="true"></th>

+ 8 - 10
src/bootstrap-table.js

@@ -345,7 +345,6 @@
             html = [],
             timeoutId = 0,
             $keepOpen,
-            $switchable,
             $search;
 
         this.$toolbar = this.$container.find('.fixed-table-toolbar').html('');
@@ -369,12 +368,13 @@
                 if (column.radio || column.checkbox) {
                     return;
                 }
-                var checked = column.visible ? ' checked="checked"' : '',
-                    disabled = column.switchable ? '' : ' disabled="disabled"';
+                var checked = column.visible ? ' checked="checked"' : '';
 
-                html.push(sprintf('<li>' +
-                    '<label><input type="checkbox" value="%s"%s%s> %s</label>' +
-                    '</li>', i, checked, disabled, column.title));
+                if (column.switchable) {
+                    html.push(sprintf('<li>' +
+                        '<label><input type="checkbox" value="%s"%s> %s</label>' +
+                        '</li>', i, checked, column.title));
+                }
             });
             html.push('</ul>',
                 '</div>');
@@ -385,12 +385,10 @@
             $keepOpen.find('li').off('click').on('click', function (event) {
                 event.stopImmediatePropagation();
             });
-            $switchable = $keepOpen.find('input:enabled');
-            $switchable.off('click').on('click', function () {
+            $keepOpen.find('input').off('click').on('click', function () {
                 var $this = $(this),
-                    $items = $keepOpen.find('input');
+                    $items = $keepOpen.find('input').prop('disabled', false);
 
-                $switchable.prop('disabled', false);
                 that.options.columns[$this.val()].visible = $this.prop('checked');
                 that.initHeader();
                 that.initBody();