0

0

如何在 jQuery 点击事件中动态获取按钮文本并赋值给表单字段

聖光之護

聖光之護

发布时间:2026-02-17 11:29:00

|

840人浏览过

|

来源于php中文网

原创

如何在 jQuery 点击事件中动态获取按钮文本并赋值给表单字段

本文介绍如何通过 jQuery 在按钮点击时自动提取其显示文本(如 @item.Id),并将其设置为指定表单元素(如 )的值,避免硬编码,提升代码复用性与可维护性。

本文介绍如何通过 jquery 在按钮点击时自动提取其显示文本(如 @item.id),并将其设置为指定表单元素(如 )的值,避免硬编码,提升代码复用性与可维护性。

在实际开发中(尤其在 ASP.NET MVC 或 Razor Pages 场景下),我们常需将服务端渲染的动态数据(如 @item.Id)传递至前端 JavaScript 逻辑中。一种常见但不推荐的做法是直接在 JS 中写死参数(如 $('#Id').val('parameter')),这会导致逻辑耦合、难以维护,且无法适配多条记录。

更健壮、可扩展的方案是:让按钮自身“携带”数据,并在点击时由 jQuery 动态读取。核心思路是利用 $(this).text() 获取当前被点击按钮的可见文本内容,并将其赋值给目标表单控件。

以下是完整、可直接运行的实现示例:

笔启AI论文
笔启AI论文

专业高质量、低查重,免费论文大纲,在线AI生成原创论文,AI辅助生成论文的神器!

下载
<!-- 引入 jQuery(建议置于 </body> 前或使用模块化加载) -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- 动态渲染的按钮(Razor 示例) -->
<button id="buttonEdit" style="color:darkgreen" data-toggle="modal" data-target="#EditRecord">@item.Id</button>

<!-- 目标输入框(用于接收 ID 值) -->
<input type="text" id="Id" placeholder="ID will be populated here" />
$(document).ready(function () {
  $('#buttonEdit').on('click', function () {
    const clickedId = $(this).text().trim(); // 安全获取并去除首尾空格
    $('#Id').val(clickedId);
  });
});

关键要点说明:

  • $(this) 指向当前被点击的 DOM 元素(即该
  • .text() 获取按钮的纯文本内容(不包含 HTML 标签),比 .html() 更安全;
  • .trim() 防止因模板换行或空格导致的意外空白字符;
  • 使用 .on('click', ...) 替代已废弃的 .click(),符合现代 jQuery 最佳实践;
  • 若页面存在多个编辑按钮(如表格中每行一个),应避免重复 id="buttonEdit"(ID 必须唯一),此时推荐改用 class="btn-edit" 并结合 data-id="@item.Id" 属性传递值,再通过 $(this).data('id') 读取——这是更规范、可扩展的方案。

⚠️ 注意事项:

  • 确保目标元素(如 #Id)在 DOM 加载完成后存在;若该输入框位于模态框(Modal)内且初始未渲染,需在模态框 shown.bs.modal 事件中赋值,或使用事件委托;
  • 在服务端渲染场景中,@item.Id 应已正确输出为数字或字符串,无需额外 JSON 编码;若含特殊字符(如引号、换行),建议改用 data-* 属性方式传递结构化数据。

通过这一模式,前端逻辑彻底解耦于服务端变量名,既保障了类型安全(文本即 ID),又为后续支持批量操作、异步加载等场景打下坚实基础。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

442

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

544

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

322

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

81

2025.09.10

jquery插件有哪些
jquery插件有哪些

jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

154

2023.09.12

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

322

2023.10.13

jquery删除元素的方法
jquery删除元素的方法

jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

403

2023.11.10

jQuery hover()方法的使用
jQuery hover()方法的使用

hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

511

2023.12.04

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

283

2026.02.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery 教程
jQuery 教程

共42课时 | 6.2万人学习

HTML+CSS基础与实战
HTML+CSS基础与实战

共132课时 | 11.2万人学习

tp6+adminlte搭建通用后台
tp6+adminlte搭建通用后台

共39课时 | 5.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号