2016-11-11 10 views
0

おやすみ!私はデータベースからの値をajaxリクエストで更新するときに問題があります。チェックボックスとラジオボックスはチェックされません。選択オプションは正常に動作します。私は何かを忘れましたか?ajaxを使ってデータベースからチェックボックス/ラジオボックスの値をチェックする方法は?

function editUser(user_id) { 
    $('#addUser').css("display", "none"); 
    $('#updateUser').css("display", ""); 

    $.post(baseurl + 'globalFunction/getUserData', { 

     user_id: user_id 

    }, function (data) { 
     var result = eval('(' + data + ')'); 

     $('#username').val(result[0].user_username); 
     $('#group_select option[value="' + result[0].user_group_id + '"]').prop("selected", true); 
     $('#sub_group_select option[value="' + result[0].sub_group_id + '"]').prop("selected", true); 
     $("[name=userType_edit]").filter("[value="+ result[0].user_type+"]").attr("checked","checked"); 
    $('.check_perm input[value="'+ result[0].perm_id +'"]').prop('checked', true); 

    }) 

} 

私が書いたPHP:

function getUserData(){ 

     $user_id = $this->input->post('user_id'); 

     $sql = $this->crud->getData("tbl_user as u,tbl_group as g, tbl_sub_group as sg, tbl_user_permission as up", "u.user_id='$user_id' AND u.user_group_id=g.group_id AND u.user_sub_group_id = sg.sub_group_id AND up.user_id ='$user_id'")['rows']; 

     echo json_encode($sql); 
} 

私のHTMLのラジオボックス:

<div class="radio-list"> 
              <label class="radio"> 
               <input type="radio" class="userType_radio" name="userType_edit" value="President"> President </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Vice President"> Vice President </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Dean"> Dean </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Staff"> Staff </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Area Head"> Area Head </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Adviser"> Adviser </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Faculty"> Faculty </label> 
              <label class="radio"> 
               <input type="radio"class="userType_radio" name="userType_edit" value="Student"> Student </label> 
             </div> 

PHPのチェックボックス:

function selectOptionUserPermissionList(){ 

$sql=$this->crud->getData("tbl_permission","perm_status = '1'"); 

$data=''; 
    foreach($sql['rows'] as $key){ 
    $data.='<label><input type="checkbox" class="icheck check_permission check_perm" name="permission[]" id="'.$key->perm_id.'" value="'.$key->perm_id.'">' . $key->perm_description.'</label>'; 
} 

$result['a']= $data; 

echo json_encode($result); 

}

は、ここに私の現在のAjaxコードです

私はcodeigniterを使用しています。

ありがとうございます。

+0

男性なぜ人々はhtmlを投稿するから実行する – madalinivascu

+0

どういう意味ですか? –

+0

これをスキップして、Ajaxの目的は何ですか? – madalinivascu

答えて

0

これが役立つかどうかをご確認ください。ラジオボタンを確認するには

$("input:radio[name=userType_edit][value="+result[0].user_type+"]").prop('checked', true); 

あなたが欠けているものはわかりません。

以下、チェックボックスをオンにすることをお勧めします。

$('.check_perm input[value="'+ result[0].perm_id +'"]').prop('checked', true); 

上記の行は有効ですが、使用しているセレクタを確認することをお勧めします。

あなたはjQueryの戻っているどのように多くの要素をチェックする

console.log($('.check_perm input[value="'+ result[0].perm_id +'"]').length) 

を使用することができます。

+0

ラジオボタンはチェックボックスにチェックされていませんが、コンソールで値が示されました。チェックボックスで0を返します。なぜですか?どこで私は間違えましたか? –

+0

@ShakeyShakeグループのラジオボタンがチェックされていない場合は、result [0] .user_typeの値をチェックしてください。 result [0] .user_typeの値がvalue属性の入力ラジオボタンに割り当てられていない場合は、ラジオボタンに割り当てる値を確認する必要があります。次に、あなたから返された値をチェックし、その値がチェックボックスの1つに割り当てられていることを確認します。がんばろう。 –

+0

まだ動作しません。私はすべてをチェックして、ラジオボタンが動作していないことを除いて、すべてのデータが正しいです。これで助けてください。これは私の論文/棺のプロジェクトです:( –

関連する問題