js遍历一个table中,特定input中的值是否一致,请高手赐教!
table在系统生成后如下:<table><tr><td><inputname="time1"value=""/></td></tr><tr><td><inputname...
table在系统生成后如下:
<table>
<tr><td><input name="time1" value=""/></td></tr>
<tr><td><input name="time2" value=""/></td></tr>
<tr><td><input name="time3" value=""/></td></tr>
<tr><td><input name="time4" value=""/></td></tr>
<tr><td><input name="time5" value=""/></td></tr>
</table>
我如何判别time1-time5中的日期的月份是否一致呢? 展开
<table>
<tr><td><input name="time1" value=""/></td></tr>
<tr><td><input name="time2" value=""/></td></tr>
<tr><td><input name="time3" value=""/></td></tr>
<tr><td><input name="time4" value=""/></td></tr>
<tr><td><input name="time5" value=""/></td></tr>
</table>
我如何判别time1-time5中的日期的月份是否一致呢? 展开
3个回答
展开全部
由于你并没有给出你的日期以什么样的格式显示。所以我假定你的日期是以xxxx年xx月xx日这样的格式来显示:
<body onload="test()">
<table>
<tr><td><input name="time1" value="2012年5月10日"/></td></tr>
<tr><td><input name="time2" value="2012年4月11日"/></td></tr>
<tr><td><input name="time3" value="2012年5月12日"/></td></tr>
<tr><td><input name="time4" value="2012年5月13日"/></td></tr>
<tr><td><input name="time5" value="2012年5月14日"/></td></tr>
</table>
</body>
以下是jquery代码:
function test(){
var inputlist=$("input[name^='time']");
var date=inputlist[0].value;
var month=date.substring(date.indexOf("年")+1,date.indexOf("月"));
for(var i=1;i<inputlist.length;i++){
var indate=inputlist[i].value;
var inmonth=indate.substring(indate.indexOf("年")+1,indate.indexOf("月"));
if(month!=inmonth){
alert('月份不相同!');
return;
}
}
alert('所有月份是相同的!');
}
调用该方法可以得出结果。
我看了楼下的回答,1楼的答案有缺陷,因为你的页面不可能只有这么几个input标签,如果你的页面有多个input标签(不只是显示月份的),那么他的校检方式会把你页面上所有的input标签的value 进行比对,显然答案就会出现错误,所以存在代码风险。所以选择器的选取应该按照你的命名格式来进行筛选。
<body onload="test()">
<table>
<tr><td><input name="time1" value="2012年5月10日"/></td></tr>
<tr><td><input name="time2" value="2012年4月11日"/></td></tr>
<tr><td><input name="time3" value="2012年5月12日"/></td></tr>
<tr><td><input name="time4" value="2012年5月13日"/></td></tr>
<tr><td><input name="time5" value="2012年5月14日"/></td></tr>
</table>
</body>
以下是jquery代码:
function test(){
var inputlist=$("input[name^='time']");
var date=inputlist[0].value;
var month=date.substring(date.indexOf("年")+1,date.indexOf("月"));
for(var i=1;i<inputlist.length;i++){
var indate=inputlist[i].value;
var inmonth=indate.substring(indate.indexOf("年")+1,indate.indexOf("月"));
if(month!=inmonth){
alert('月份不相同!');
return;
}
}
alert('所有月份是相同的!');
}
调用该方法可以得出结果。
我看了楼下的回答,1楼的答案有缺陷,因为你的页面不可能只有这么几个input标签,如果你的页面有多个input标签(不只是显示月份的),那么他的校检方式会把你页面上所有的input标签的value 进行比对,显然答案就会出现错误,所以存在代码风险。所以选择器的选取应该按照你的命名格式来进行筛选。
展开全部
假设日期格式为yyyy-MM-dd,以下代码仅供参考,可以根据自己需求适当修改:
<html>
<head>
<title> New Document </title>
<script type="text/javascript">
function test(){
var inputs = document.getElementsByTagName('input');
var v1 = inputs[0].value;
v1 = parseInt(v1.substr(v1.indexOf('-')+1,2));
for(var i=1; i<inputs.length; i++){
var input = inputs[i];
var val = input.value;
val = parseInt(val.substr(val.indexOf('-')+1,2));
if(val != v1){
alert('不一致');
break;
}
}
}
</script>
</head>
<body>
<table>
<tr><td><input name="time1" value="2012-02-02"/></td></tr>
<tr><td><input name="time2" value="2012-02-03"/></td></tr>
<tr><td><input name="time3" value="2012-03-04"/></td></tr>
<tr><td><input name="time4" value=""/></td></tr>
<tr><td><input name="time5" value=""/></td></tr>
</table>
<input type="button" onclick="test()" value="验证" />
</body>
</html>
<html>
<head>
<title> New Document </title>
<script type="text/javascript">
function test(){
var inputs = document.getElementsByTagName('input');
var v1 = inputs[0].value;
v1 = parseInt(v1.substr(v1.indexOf('-')+1,2));
for(var i=1; i<inputs.length; i++){
var input = inputs[i];
var val = input.value;
val = parseInt(val.substr(val.indexOf('-')+1,2));
if(val != v1){
alert('不一致');
break;
}
}
}
</script>
</head>
<body>
<table>
<tr><td><input name="time1" value="2012-02-02"/></td></tr>
<tr><td><input name="time2" value="2012-02-03"/></td></tr>
<tr><td><input name="time3" value="2012-03-04"/></td></tr>
<tr><td><input name="time4" value=""/></td></tr>
<tr><td><input name="time5" value=""/></td></tr>
</table>
<input type="button" onclick="test()" value="验证" />
</body>
</html>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function a(){
$(":input").each(function(){
var b = new date(this.val());
var c = b.getMouth();
var d = new date($(":input:first-chlid").val()).getMouth();
if(c==d) continue;else return false;
});
return true;
}
$(":input").each(function(){
var b = new date(this.val());
var c = b.getMouth();
var d = new date($(":input:first-chlid").val()).getMouth();
if(c==d) continue;else return false;
});
return true;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询