中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實現bootstrap-table 表格行內編輯的方法

發布時間:2020-07-08 14:46:02 來源:億速云 閱讀:1403 作者:Leah 欄目:web開發

本篇文章給大家分享的是有關bootstrap-table 表格行內編輯實現方法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

                                                           實現bootstrap-table 表格行內編輯的方法

這篇文章向大家介紹一下如何使用bootstrap table插件實現表格的行內編輯功能。

先放一張效果圖:

實現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 = $('#table');
    let $button = $('#button');
    let $getTableData = $('#getTableData');

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

    $table.bootstrapTable({
        url: 'data2.json',
        toolbar: '#toolbar',
        clickEdit: true,
        showToggle: true,
        pagination: true,       //顯示分頁條
        showColumns: true,
        showPaginationSwitch: true,     //顯示切換分頁按鈕
        showRefresh: true,      //顯示刷新按鈕
        //clickToSelect: true,  //點擊row選中radio或CheckBox
        columns: [{
            checkbox: true
        }, {
            field: 'id',
            title: 'Item ID'
        }, {
            field: 'name',
            title: 'Item Name'
        }, {
            field: 'price',
            title: 'Item Price'
        }, ],
        /**
         * @param {點擊列的 field 名稱} field
         * @param {點擊列的 value 值} value
         * @param {點擊列的整行數據} row
         * @param {td 元素} $element
         */
        onClickCell: function(field, value, row, $element) {
            $element.attr('contenteditable', true);
            $element.blur(function() {
                let index = $element.parent().data('index');
                let tdValue = $element.html();

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

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

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

});

實現原理

通過bootstrap table自帶的 onClickCell 方法,點擊 td 添加 contenteditable 屬性(ps: 使元素可編輯),于是 td 元素具有了類似于文本框的 focus 和 blur 事件,用戶點擊 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

[
    { "id": 1, "name": "Item 1", "price": "¥1" },
    { "id": 2, "name": "Item 2", "price": "¥2" },
    { "id": 3, "name": "Item 3", "price": "¥3" }
]

以上就是bootstrap-table 表格行內編輯實現方法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

两当县| 嘉黎县| 苗栗市| 突泉县| 沙田区| 平远县| 凤城市| 嘉黎县| 乌审旗| 德江县| 大宁县| 凤冈县| 元谋县| 乌拉特后旗| 潜江市| 武威市| 海原县| 伊通| 福贡县| 同心县| 铜山县| 莆田市| 聊城市| 吴江市| 乐清市| 泰宁县| 睢宁县| 靖州| 云浮市| 政和县| 汽车| 特克斯县| 丹寨县| 保德县| 崇左市| 巴彦淖尔市| 额尔古纳市| 开江县| 沭阳县| 营山县| 黄龙县|