layui checkbox 提交多個值的解決方法
阿新 • • 發佈:2018-11-22
吐槽一下,layui的checkbox簡直就是一個坑...(不能提交陣列)
資料是從後臺來的
<div class="layui-form-item" > <label class="layui-form-label">品種</label> <div class="layui-input-inline"> {foreach $quotation_type as $key=>$val} <input name="quotation_type" lay-skin="primary" value="{$key}" title="{$val}" type="checkbox"> {/foreach} </div> </div>
看看JS部分,有點繞,先把資料寫進陣列,然後,陣列轉成json格式,覆蓋掉原先的data.field裡面的資料
//獲取checkbox資料 quotation = new Array(); $("input:checkbox[name='quotation_type']:checked").each(function(){ quotation.push($(this).val()); }); var json = {}; for (var i = 0; i < quotation.length; i++) { json[i] = quotation[i]; } let myJson = JSON.stringify(json); data.field.quotation_type = myJson ;
PHP部分,只需要把提交過來的json字串轉成陣列就可以使用了
//提交的checkbox 提交過來的是json字串
$data['quotation_type'] = json_decode($request->post('quotation_type'),true);
最後,進行你需要的資料庫操作就可以了
馬克一下