方案1:
function idNumberChange() {
var cardId = $("#idNumber").val();
// 身份证号码合法时,自动生成性别和出生日期
if (IdCardValidate(cardId)) {
$("#birthDate").val(getBirthByCard(cardId));
if (getSexByCard(cardId) == "1") {
document.getElementById("sexMale").checked = "checked";
} else {
document.getElementById("sexFemale").checked = "checked";
}
}
}
方案2:
function idNumberChange() {
var cardId = $("#idNumber").val();
// 身份证号码合法时,自动生成性别和出生日期
if (IdCardValidate(cardId)) {
$("#birthDate").val(getBirthByCard(cardId));
if (getSexByCard(cardId) == "1") {
$("#sexFemale").removeAttr("checked");
$("#sexMale").attr("checked", true);
} else {
$("#sexMale").removeAttr("checked");
$("#sexFemale").attr("checked", true);
}
}
}
方案2中的fun触发时,redio无法在页面选中,方案1中的可以。请高手解答为什么,有什么差别么?
$( "#sexMale" ).prop( "checked", true ); 试试
应该得赋boolean值,改成这样试下, document.getElementById("sexMale").checked = "true";
$("input:radio[name=sex]").eq(1).attr("checked",true);
$( "#sexMale" ).prop( "checked", true );
prop是jquery1.6以后的功能,对布尔类型的操作有效,针对不同的浏览器,attr有所不足,需要使用prop