Cet article explique comment utiliser le plug-in de table bootstrap pour implémenter la fonction d'édition en ligne de la table.
Tutoriel recommandé : Framework Bootstrap
Mettez d'abord un rendu :
Scénario d'application
Les projets précédents utilisaient également une table bootstrap, l'ajout et la modification de données étaient modifiés via des boîtes modales Oui, plus tard, j'ai eu le je dois cliquer sur les lignes pour en modifier et en ajouter de nouvelles, alors j'ai essayé...
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值 }) } });
Principe d'implémentation
Utiliser automatiquement la table bootstrap Avec le méthode onClickCell, cliquez sur td pour ajouter l'attribut contenteditable (ps : rendre l'élément modifiable), de sorte que l'élément td ait des événements de focus et de flou similaires à la zone de texte. L'utilisateur clique sur td pour obtenir le focus. la méthode updateCell est appelée. Mettre à jour les données de la cellule.
Introduction
<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" } ]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!