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

如何用jQuery移除PHP CodeIgniter中对应行的输入字段?

解决CodeIgniter中移除按钮仅删除对应行的问题

嗨,这个问题其实是因为你的jQuery代码找错了要移除的容器,咱们一步步来修正:

第一步:确认视图的HTML结构

首先要保证foreach循环渲染的每一行输入字段,都被独立的容器包裹。你的CodeIgniter视图代码应该类似这样:

<?php foreach($records as $record): ?>
    <!-- 每个数据行用独立的带类名容器包裹 -->
    <div class="record-item">
        <input type="text" name="data_fields[]" value="<?= $record->field_value ?>">
        <button type="button" class="RemoveBtn">移除</button>
    </div>
<?php endforeach; ?>

这里的.record-item是关键,它标记了每一行的独立容器,让jQuery能精准定位到要删除的目标行。

第二步:修改jQuery代码

你当前的closest('div')会匹配离按钮最近的所有div,如果所有行都嵌套在一个外层大div里,就会误删整个容器。咱们把它改成精准定位到行容器:

$(document).on('click', '.RemoveBtn', function() {
    // 只移除当前按钮所在的那一行容器
    $(this).closest('.record-item').remove();
});

这样点击移除按钮时,只会找到它所在的.record-item容器并删除,完全不会影响其他行。

额外小提醒

  • 如果你的行容器不是div(比如用了<li>或<section>),不用纠结标签类型,只要把closest('.record-item')里的类名换成你实际用的行容器类名就行。
  • 检查HTML结构,确保移除按钮确实在对应行的容器内部,没有嵌套层级错误,不然closest可能找不到正确的目标容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:15:36