我有一个带有HTML表单的popbox框,它显示了使用jQuery / Ajax从db基于id的相应HTML文件的所有用户信息。
现在所有表单字段都已填满但单选按钮未已选中。应根据类似..如 kittype == 1 的条件进行选择,然后选择第一个,否则选择第二个。
<td>Kittype</td>
<td>
<input type="radio" name="kittype" value="1"/> Electronic Kit Only <br/>
<input type="radio" name="kittype" value="2" /> Post a Hard Copy as
well<br/>
</td>
Jquery / Ajax代码:
function myfunc1(id) {
id = id;
$.ajax({
url: 'edit_user_details.php',
type: 'post',
data: {'id' : id},
dataType : 'json',
success: function( res ) {
console.log(res);
$.each( res, function( key, value ) {
console.log(key, value);
$('input[type=text][name='+key+']').val(value);
$('textarea[name='+key+']').val(value);
if ( res.kittype == 1 ) {
$('input[type=radio][name='+kittype+']').attr('checked', 'checked');
}
});
}
});
}
答案 0 :(得分:1)
使用prop()
代替attr()
。
此外,您可以使用:first
或eq(0)
来获取第一个元素。
if (res.kittype == 1) {
$('input[type=radio][name=kittype]:first').prop('checked', 'checked');
$("input").is(':checked');
} else {
$('input[type=radio][name=kittype]:not(:first)').prop('checked', 'checked');
}
答案 1 :(得分:0)
使用jquery的prop方法。
$('input[type=radio][name='+kittype+']').prop('checked', true);
答案 2 :(得分:0)
答案 3 :(得分:0)
为什么不简单地写
$('input[type=radio][name=kittype][value='+res.kittype+']').prop('checked', 'checked');
演示here