2 apolloback apolloback 于 2015.07.15 15:57 提问

jquery基础请教,大神解答。。。

方案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中的可以。请高手解答为什么,有什么差别么?

5个回答

guwei4037
guwei4037   Ds   Rxr 2015.07.15 15:56
已采纳

$( "#sexMale" ).prop( "checked", true ); 试试

guwei4037
guwei4037 回复apolloback: 这里面有,http://www.jb51.net/article/52326.htm
2 年多之前 回复
apolloback
apolloback 可以,能讲一下原理么?
2 年多之前 回复
yuke198907
yuke198907   2015.07.15 17:02

$("input:radio[name=sex]").eq(1).attr("checked",true);

strutce
strutce   Ds   Rxr 2015.07.15 17:01

应该得赋boolean值,改成这样试下, document.getElementById("sexMale").checked = "true";

diaoliwei2
diaoliwei2   Rxr 2015.07.15 19:09

$( "#sexMale" ).prop( "checked", true );

apolloback
apolloback 可以,能给解释一下原理么
2 年多之前 回复
licuifeng
licuifeng   2015.07.20 20:43

prop是jquery1.6以后的功能,对布尔类型的操作有效,针对不同的浏览器,attr有所不足,需要使用prop

Csdn user default icon
上传中...
上传图片
插入图片