Jquery关于获取当前元素的下一个元素问题

时间:2022-01-22 20:37:34
说明:现在我有一个家庭档案,每个家人都有一个身份证,出生日期,性别,用table 在页面呈现出来,每个人的信息存放在一个tr中。现在是:当我填写某个家人的身份证<input name='IDNUM' type='text'>完毕后,那么在身份证的下一个元素<input name='birthday' type='text'>就会自动填充出生年月,性别也如此。我自己写了JS可是,老是无法识别出生年月跟性别这些元素。请高手指教,我哪里写错了。

//自动填充出生年月
function getBirtydayAndSex2(){

$("input[name='sfzheng']").each(function(){
var IDNo = this.value;

//判断  出生年月是否为空  性别是否为空
var birthday = $(this).next("input[name='nl']").text();

var sex = $(this).next("input[name='xbie']").text();

if(birthday ==="" || birthday === null){
birthday = IDNo.substring(6,14);
alert(birthday);

$(this).next().val(birthday);
alert($(this).next().val());
alert($(this).next().text());
alert($(this).next().html());

}
//截取出生年月字段  性别数字

//填充
if(sex ==="" || sex === null){
if(15 === IDNo.length){
var val = IDNo.charAt(14)-'0';
if(val % 2 !== 0){
sex = '男';
this.next("input[name='xbie']").text(sex);
}else{
sex = '女';
this.next("input[name='xbie']").text(sex);
}
}
if(18 === IDNo.length){
var va = IDNo.charAt(16)-'0';
if(va % 2 === 0){
sex = '女';
$(this).next("input[name='xbie']").text(sex);
}else{
sex = '男';
this.next("input[name='xbie']").text(sex);
}
}

}
});
}

3 个解决方案

#1


建议根据唯一ID填
这样写感觉很繁琐
也不易于别人维护吧

#2


$("#id").val(str);

#3


因为需求的关系,每个元素是没用ID的。

#1


建议根据唯一ID填
这样写感觉很繁琐
也不易于别人维护吧

#2


$("#id").val(str);

#3


因为需求的关系,每个元素是没用ID的。