jquery複数のcheckboxの値を非同期でphpにコミットする方法

1702 ワード

この例では、jqueryが複数のcheckboxの値をphpに非同期でコミットする方法について説明する.皆さんの参考にしてください.具体的な実現方法は以下の通りである.
htmlコード:


  
  =$item['mtaccount_id']?>
  =$item['account_id']?>
  =$item['account_name']?>
  =$item['server']?>
  =$item['platform']?>



私のはhtmlの中のデータはデータベースから読んだので、ここで以下のコードと理解することができます

  • ユーザ1
  • ユーザ2
  • ユーザ3
  • ユーザ4
  • 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プログラム設計に役立つことを願っています.