2016-11-11 132 views
0

美好的一天!通過ajax請求從數據庫更新值時遇到問題。它沒有勾選複選框以及收音機框。選擇選項正常工作。我錯過了什麼嗎? 這是我目前的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 radiobox:

<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); 

}

我正在使用codeigniter。

謝謝提前:)

+0

男人爲什麼從貼子上跑過的人 – 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); 

上面一行是有效的,但我建議檢查您使用的選擇器。

您可以使用

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

檢查jQuery是多少個元素返回。

+0

單選按鈕沒有選中該框,但在控制檯中顯示了該值。並在複選框中返回0.但爲什麼?我哪裏做錯了? –

+0

@ ShakeyShake如果組中的單選按鈕沒有檢查,請檢查結果[0] .user_type中的值。如果結果[0] .user_type中的值未分配給任何具有值屬性的輸入類型單選按鈕,則需要檢查分配給單選按鈕的值。其次,還要檢查從您的ajax調用返回的值,並確保該值已分配給其中一個複選框。祝你好運。 –

+0

仍然無法正常工作。我已經檢查過一切,所有的數據都是正確的,除了單選按鈕沒有工作..請幫助我。這是我的論文/頂點項目:( –

相關問題