本文執行個體講述了jquery擷取多個checkbox的值非同步提交給php的方法。分享給大家供大家參考。具體實現方法如下:
html代碼:
<tr> <td><input type="checkbox" name="uid" value="<?=$item['mtaccount_id']?>"></td> <td><?=$item['mtaccount_id']?></td> <td><?=$item['account_id']?></td> <td><?=$item['account_name']?></td> <td><?=$item['server']?></td> <td><?=$item['platform']?></td></tr>
我的是html裡的資料是從資料庫讀出來的,在此可以理解為下面代碼
<li><input type="checkbox" name="uid" value="1" />使用者1</li><li><input type="checkbox" name="uid" value="2" />使用者2</li><li><input type="checkbox" name="uid" value="3" />使用者3</li><li><input type="checkbox" name="uid" value="4" />使用者4</li>
jquery代碼:
var mt4Ids = []; $('input[name=uid]').each(function() { if(this.checked) { mt4Ids.push($(this).val()); } }); data = { mt4Ids : JSON.stringify(mt4Ids) };var pUrl = "/a/manageUser.html";$.post(pUrl, data, function(data){ if(data.state == 1){ alert(data.msg); location.href = "/h/permission.html"; }else{ alert("操作失敗"); } }, 'json');
PHP代碼
$mt4Ids = !empty($_POST['mt4Ids']) ? $_POST['mt4Ids'] : false;$stripMt4Ids = preg_replace('/[\"\[\]]/', '', $mt4Ids);$mt4IdsToArr = explode(',', $stripMt4Ids);foreach($mt4IdsToArr as $uid){ permission_relation::add($uid, $gid);}$data = array( 'state' => 1, 'msg' => '操作成功');echo json_encode($data);return false;// $gid 可忽略
希望本文所述對大家的php程式設計有所協助。