如何从php jquery中的数据表中获取所有选中的复选框数据的id
P粉741223880
P粉741223880 2023-08-28 13:21:03
[PHP讨论组]
<p>我在所有行中都使用了复选框,这样当每个复选框被选中时,我都会得到它们的 Id,一切都与我所实现的工作正常,但问题是我只得到特定的已检查 Id数据表的页。意味着如果我选中了第 1 页中的一个数据的复选框,并且还选中了第 2 页中的其他数据的复选框,那么当我提交时,我只得到第 2 页的数据。我想要的是我应该获得的 Id来自 page1、page2、page3 等的数据。</p> <p>这是我所有数据的来源</p> <pre class="brush:php;toolbar:false;">@foreach($data as $key =&gt; $question_bank) &lt;tr id=&quot;{{ $question_bank-&gt;id }}&quot;&gt; &lt;td&gt; &lt;input type=&quot;checkbox&quot; data-id=&quot;{{ $question_bank-&gt;id }}&quot; class=&quot;add_check&quot;&gt; &lt;/td&gt; &lt;td&gt;{{++$i}}&lt;/td&gt; &lt;td&gt;{{ $question_bank-&gt;questionCategory-&gt;category }}&lt;/td&gt; &lt;td&gt;{{$question_bank-&gt;question}}&lt;/td&gt; &lt;/tr&gt; @endforeach &lt;button type=&quot;submit&quot; id=&quot;add_to&quot; class=&quot;mt-3 btn btn-primary float-right&quot;&gt;Add&lt;/button&gt;</pre> <p>这是我的 jquery 部分</p> <pre class="brush:php;toolbar:false;">$(document).on('click','#add_to',function(e){ e.preventDefault(); var questionids_arr = []; $(&quot;input:checkbox[class=add_check]:checked&quot;).each(function () { questionids_arr.push($(this).attr('data-id')); }); console.log(questionids_arr); return false; });</pre></p>
P粉741223880
P粉741223880

全部回复(2)
P粉573809727

您需要将选中的 ID 保存到表单中的隐藏字段中。

<input type="hidden" id="selectedValues" name="selectedValues">

添加 onclick() 复选框并将以下函数添加到 JavaScript。

function addRemove(id){
  // const selectedIds = $('#selectedValues').val();
  var selectedIds = JSON.parse($('#selectedValues').val());
  
  console.log(selectedIds);
  if($('#' + id).is(":checked")){
    //Add if id not there in array
    selectedIds.push(id);
  }else{
    //Remove from the array
    selectedIds = selectedIds.filter(function(item) {
        return item !== id
    })
  }
  
   $("#selectedValues").val(JSON.stringify(selectedIds));
   console.log(selectedIds)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<input type="checkbox" id="vehicle1" name="vehicle1" value="Bike" onclick="addRemove('vehicle1')"> Bike
<input type="checkbox" id="vehicle2" name="vehicle2" value="Car" onclick="addRemove('vehicle2')"> Car


<input type="hidden" name="selectedValues" id="selectedValues" value="[]">
P粉957723124

我认为您希望在数组中添加或删除项目,并且它可以用于数据表的分页。我找到了一个可行的解决方案,您可以检查它是否适合您 DataTables中的复选框需要捕获所有选中的值

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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