You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter中循环生成表单如何获取对应行同name输入框值

实现思路(CodeIgniter 环境下)

嘿,针对你在药店管理软件药品候选列表标签页里遇到的问题,我给你整理几个实用的实现思路,都能精准获取点击行对应输入框的库存值:

  • 给输入框name属性添加唯一标识
    循环生成表格时,把药品的唯一ID(比如数据库里的drug_id)嵌入到输入框的name属性中,比如写成 name="stock[<?= $drug['id'] ?>]"。同时给每行的「Confirm」按钮通过data属性绑定对应的药品ID,比如 <button class="confirm-btn" data-drug-id="<?= $drug['id'] ?>">Confirm</button>。点击按钮时,前端通过JS获取该data属性的ID,再匹配到对应输入框的数值,最后把ID和库存值一起提交到CodeIgniter控制器。后端可以通过 $this->input->post('stock')[$drug_id] 直接拿到当前行的库存值。

  • 每行单独封装表单
    不用复杂的JS处理,直接把每行的库存输入框和「Confirm」按钮包裹在一个独立的<form>标签里。这样点击按钮提交时,浏览器只会提交当前表单内的输入内容,后端直接通过 $this->input->post('stock') 就能拿到当前行的库存值,逻辑清晰且无需额外前端代码,适合简单场景。

  • 利用JS事件委托精准定位
    如果不想修改输入框的name属性,可以给表格的每行添加唯一标识(比如data-row-id绑定药品ID),然后通过事件委托给所有「Confirm」按钮绑定点击事件。点击时,通过DOM遍历找到当前按钮所在行的输入框,比如用原生JS的closest()方法:event.target.closest('tr').querySelector('input[name="stock"]').value,拿到值后结合对应的药品ID,通过AJAX提交到CodeIgniter的控制器方法处理即可。

内容的提问来源于stack exchange,提问作者Uzzal Sheel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:22:31