美好的一天!通过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 :(得分: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返回的元素数量。