本文详解如何在点击 bootstrap 表格单元格时,正确触发模态框、通过 ajax 调用 php 获取对应行数据(如 `deviceid` 和 `functiondata`),并将其填充至表单输入框中,实现可编辑与保存功能。重点解决因 jquery 选择器错误(混淆 id 与 class)导致数据无法显示的常见问题。
在使用 Bootstrap Table 配合 PHP 后端实现「点击单元格弹出编辑模态框」功能时,一个高频陷阱是:前端 jQuery 选择器与 HTML 元素属性不匹配,导致数据成功返回却无法渲染到表单中。您提供的代码中,输入框定义为 ,但 JavaScript 中却误用 $('.functionData').val(...) —— 这会尝试查找 class="functionData" 的元素,而该 class 并不存在,因此赋值失败。
✅ 正确做法是统一使用 ID 选择器:
// ✅ 修正后的 JS:使用 #functionData(ID 选择器)
$('#scandata').on('click-cell.bs.table', function (e, field, value, row, $el) {
if (field === 'functionData') { // 注意:应比对 field(列名),而非 value(单元格内容)
const deviceId = row.deviceId; // 推荐直接从 row 对象取值,更可靠
const currentFunctionData = row.functionData || '';
$.ajax({
url: 'getFunctionData.php',
type: 'POST',
dataType: 'json',
data: { deviceId: deviceId },
success: function(response) {
// 填充模态框输入框(注意:#functionData 是 ID,不是 class)
$('#functionData').val(response.functionData || currentFunctionData);
// 同时可隐藏/显式存储 deviceId(用于提交)
$('#save-form').data('device-id', deviceId);
$('#myModal').modal('show');
},
error: function(xhr) {
console.error('获取数据失败:', xhr.responseText);
alert('无法加载功能数据,请重试。');
}
});
}
});? 关键修复点说明:
? 同时,请同步优化您的 getFunctionData.php,确保返回标准 JSON 结构:
'']);
exit;
}
$functionQuery = "SELECT functionData FROM devices WHERE deviceId = ?";
if ($stmt = $connection->prepare($functionQuery)) {
$stmt->bind_param("i", $deviceId);
$stmt->execute();
$stmt-
>bind_result($functionData);
$stmt->fetch();
$stmt->close();
// 统一返回对象,含 functionData 字段(即使为空)
echo json_encode(['functionData' => $functionData ?: '']);
} else {
echo json_encode(['functionData' => '']);
}? 进阶建议(提升用户体验):
在模态框打开前添加 loading 状态(如禁用按钮 + 旋转图标);
为“Save Changes”按钮绑定提交逻辑,防止重复点击:
$('#save-btn').off('click').on('click', function() {
const deviceId = $('#save-form').data('device-id');
const newFunctionData = $('#functionData').val().trim();
$.post('update.php', { deviceId, functionData: newFunctionData }, function(res) {
if (res.success) {
$('#myModal').modal('hide');
// 可选:刷新当前行或整表
$('#scandata').bootstrapTable('refresh');
} else {
alert('保存失败:' + (res.message || '未知错误'));
}
}, 'json');
});在 update.php 中务必进行服务端校验与 SQL 防注入(已使用预处理语句,这点您做得很好 ✅)。
通过以上修正,您的模态框将能准确加载并展示原始数据,用户可自由编辑后保存,真正实现「所见即所编」的闭环交互体验。
# php
# javascript
# java
# jquery
# html
# js
# 前端
# bootstrap
# json
# ajax
相关文章:
建站之星CMS建站配置指南:模板选择与SEO优化技巧
如何快速查询域名建站关键信息?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
建站之星3.0如何解决常见操作问题?
建站之星后台密码遗忘如何找回?
定制建站方案优化指南:企业官网开发与建站费用解析
建站DNS解析失败?如何正确配置域名服务器?
建站主机类型有哪些?如何正确选型
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
七夕网站制作视频,七夕大促活动怎么报名?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何在七牛云存储上搭建网站并设置自定义域名?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
建站主机是否属于云主机类型?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
如何在IIS管理器中快速创建并配置网站?
,交易猫的商品怎么发布到网站上去?
广德云建站网站建设方案与建站流程优化指南
建站之星后台管理系统如何操作?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何选择高效便捷的WAP商城建站系统?
建站主机SSH密钥生成步骤及常见问题解答?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
如何在云指建站中生成FTP站点?
上海网站制作开发公司,上海买房比较好的网站有哪些?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
如何通过服务器快速搭建网站?完整步骤解析
如何在企业微信快速生成手机电脑官网?
广平建站公司哪家专业可靠?如何选择?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
ui设计制作网站有哪些,手机UI设计网址吗?
建站之星北京办公室:智能建站系统与小程序生成方案解析
活动邀请函制作网站有哪些,活动邀请函文案?
如何通过wdcp面板快速创建网站?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
如何在IIS中新建站点并配置端口与IP地址?
如何有效防御Web建站篡改攻击?
北京网站制作的公司有哪些,北京白云观官方网站?
如何用PHP快速搭建高效网站?分步指南
如何快速搭建高效服务器建站系统?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
江苏网站制作公司有哪些,江苏书法考级官方网站?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
如何选择适配移动端的WAP自助建站平台?
如何安全更换建站之星模板并保留数据?
*请认真填写需求信息,我们会在24小时内与您取得联系。