我有一个从我的PHP代码传递给我的ajax脚本的值列表。
我的问题是应该放在单选按钮中的值不检查。其他输入显示正常,但性别不是。
传递值示例:{"name":"Okay","age":"11","gender":"Male","status":"Single"}
HTML:
Gender <input type="radio" id="gender" name="gender" value="Male" /> Male <br />
<input type="radio" id="gender" name="gender" value="Female" /> Female <br />
素文字:
<script type="text/javascript">
$(document).ready(function(){
$("#editInput").click(function(){
var data = {};
data.name = $('#name').val();
data.age = $('#age').val();
data.gender = $('#gender').val();
data.status = $('#status').val();
$.ajax({
type: "POST",
url: "viewInputs.php",
data: data,
cache: false,
dataType:"JSON",
success: function (result) {
$("#name").val(result.name);
$("#age").val(result.age);
$("#gender").val(result.gender);
$("#status").val(result.status);
}
});
return false;
});
});
</script>
答案 0 :(得分:2)
您不应该有两个具有相同ID的元素。使用名称属性 这是你检查单选按钮的方式:
$('input[type=radio][name="gender"][value='+result.gender+']').prop('checked', true);
我添加了name =“gender”更准确。
答案 1 :(得分:0)
要检查单选按钮,您需要使用.prop('checked',true/false)
。而不是.val()