ホームページ  >  記事  >  ウェブフロントエンド  >  bootstrap-table テーブルのインライン編集の実装

bootstrap-table テーブルのインライン編集の実装

angryTom
angryTomオリジナル
2019-08-20 16:18:3412235ブラウズ

bootstrap-table テーブルのインライン編集の実装

この記事では、ブートストラップ テーブル プラグインを使用してテーブルのインライン編集機能を実装する方法を紹介します。

#推奨チュートリアル:

#ブートストラップ フレームワーク最初にレンダリングを配置します:

bootstrap-table テーブルのインライン編集の実装

#アプリケーション シナリオ

#以前のプロジェクトでもブートストラップ テーブルを使用し、データの追加と変更はモーダル ボックスを使用して編集していました。行をクリックして編集し、新しい行を追加する必要があったので、試してみました...

#html

<div class="table-box" style="margin: 20px;">
    <div id="toolbar">
        <button id="button" class="btn btn-default">insertRow</button>
        <button id="getTableData" class="btn btn-default">getTableData</button>
    </div>
    <table id="table"></table>
</div>
##script

##

$(function() {
    let $table = $(&#39;#table&#39;);
    let $button = $(&#39;#button&#39;);
    let $getTableData = $(&#39;#getTableData&#39;);

    $button.click(function() {
        $table.bootstrapTable(&#39;insertRow&#39;, {
            index: 0,
            row: {
                id: &#39;&#39;,
                name: &#39;&#39;,
                price: &#39;&#39;
            }
        });
    });

    $table.bootstrapTable({
        url: &#39;data2.json&#39;,
        toolbar: &#39;#toolbar&#39;,
        clickEdit: true,
        showToggle: true,
        pagination: true,       //显示分页条
        showColumns: true,
        showPaginationSwitch: true,     //显示切换分页按钮
        showRefresh: true,      //显示刷新按钮
        //clickToSelect: true,  //点击row选中radio或CheckBox
        columns: [{
            checkbox: true
        }, {
            field: &#39;id&#39;,
            title: &#39;Item ID&#39;
        }, {
            field: &#39;name&#39;,
            title: &#39;Item Name&#39;
        }, {
            field: &#39;price&#39;,
            title: &#39;Item Price&#39;
        }, ],
        /**
         * @param {点击列的 field 名称} field
         * @param {点击列的 value 值} value
         * @param {点击列的整行数据} row
         * @param {td 元素} $element
         */
        onClickCell: function(field, value, row, $element) {
            $element.attr(&#39;contenteditable&#39;, true);
            $element.blur(function() {
                let index = $element.parent().data(&#39;index&#39;);
                let tdValue = $element.html();

                saveData(index, field, tdValue);
            })
        }
    });

    $getTableData.click(function() {
        alert(JSON.stringify($table.bootstrapTable(&#39;getData&#39;)));
    });

    function saveData(index, field, value) {
        $table.bootstrapTable(&#39;updateCell&#39;, {
            index: index,       //行索引
            field: field,       //列名
            value: value        //cell值
        })
    }

});
実装原則

ブートストラップ テーブルを自動的に使用するonClickCell メソッドを使用して、td をクリックして contenteditable 属性を追加します (ps: 要素を編集可能にします)。これにより、td 要素にはテキスト ボックスと同様のフォーカス イベントとブラー イベントが発生します。ユーザーは td をクリックしてフォーカスを取得します。コンテンツを編集して失った後、フォーカスがあると、updateCell メソッドが呼び出され、セル データが更新されます。 #はじめに

 <link rel="stylesheet" type="text/css" href="js/bootstrap/bootstrap-3.3.7-dist/css/bootstrap.min.css" />
    <link rel="stylesheet" type="text/css" href="js/bootstrap-table/1.12.1/bootstrap-table.min.css" />
    <script src="js/jquery.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="js/bootstrap/bootstrap-3.3.7-dist/js/bootstrap.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="js/bootstrap-table/1.12.1/bootstrap-table.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="js/bootstrap-table/1.12.1/locale/bootstrap-table-zh-CN.min.js" type="text/javascript" charset="utf-8"></script>

json

rreee

以上がbootstrap-table テーブルのインライン編集の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。