求一段js代码,关于判断的,大家都来看看

mx1029 2006-11-23 12:31:46
有这样一个表格
<table border="1">
<tr>
<td><input type="text" name="a1"></td>
<td><input type="text" name="b1"></td>
</tr>
<tr>
<td><input type="text" name="a2"></td>
<td><input type="text" name="b2"></td>
</tr>
<tr>
<td><input type="text" name="a3"></td>
<td><input type="text" name="b3"></td>
</tr>
<tr>
<td><input type="text" name="a4"></td>
<td><input type="text" name="b4"></td>
</tr>
<tr>
<td><input type="text" name="a5"></td>
<td><input type="text" name="b5"></td>
</tr>
</table>
请问如何才能实现如下功能:
最终效果,不管用户输入有多少重复的,只要第一列值相同的就记录为1。
例如:
row1 1
row2 1
row3 2
row4 1
row5 2
这样的统计结果应该返回为2,因为只有第一列为1的和第一列为2的两种情况。
望高手指点,谢谢了!
...全文
140 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mx1029 2006-11-23
  • 打赏
  • 举报
回复
to poiu_poiu()
不对啊。。你测试一下。。。
var flag1=document.getElementById("row1").value
这个不是固定的。。。。
poiu_poiu 2006-11-23
  • 打赏
  • 举报
回复
<table border="1">
<tr>
<td><input type="text" id=row1 name="a1"></td>
<td><input type="text" name="b1"></td>
</tr>
<tr>
<td><input type="text" id=row2 name="a2"></td>
<td><input type="text" name="b2"></td>
</tr>
<tr>
<td><input type="text" id=row3 name="a2"></td>
<td><input type="text" name="b2"></td>
</tr>
<tr>
<td><input type="text" id=row4 name="a2"></td>
<td><input type="text" name="b2"></td>
</tr>
</table>
<input type=button value=aa onclick="aa()";>

<script>
function aa()
{
num=1;
var flag1=document.getElementById("row1").value;
for(i=2;i<5;i++)
{ flag2=document.getElementById("row"+i).value;
if(flag1!=flag2) num++;
}
alert(num);
}
</script>

====
js
mx1029 2006-11-23
  • 打赏
  • 举报
回复
里面的循环有问题,但不知道怎么改
mx1029 2006-11-23
  • 打赏
  • 举报
回复
我是这样写的,可是结果不对。。。。
<script language="javascript">
function count(){
var tot =1;
var count=0;
for(i=1;i<=5;i++){
flag=false
for(x=1;x<=5;x++){
if(eval("a"+i+".value") == eval("a"+x+".value")){
flag=true;
break;
}
}
if(flag){
count++;
}
}
alert(count);

}
</script>
CutBug 2006-11-23
  • 打赏
  • 举报
回复
在优化一下count函数
function count(arrT)
{
var s=arrT.sort();
var ln = 1;
var t = s[0];
for(var i=1;i<s.length;i++)
{
if(t != s[i])
{
ln++;
t = s[i];
}
}
return ln;

}
mx1029 2006-11-23
  • 打赏
  • 举报
回复
谢谢 CutBug(外面的世界很无奈) ,我马上给分 :)
CutBug 2006-11-23
  • 打赏
  • 举报
回复
已测:
<table border="1">
<tr>
<td><input type="text" id="a1" ></td>
<td><input type="text" id="b1" ></td>
</tr>
<tr>
<td><input type="text" id="a2" ></td>
<td><input type="text" id="b2" ></td>
</tr>
<tr>
<td><input type="text" id="a3" ></td>
<td><input type="text" id="b3" ></td>
</tr>
<tr>
<td><input type="text" id="a4"></td>
<td><input type="text" id="b4"></td>
</tr>
<tr>
<td><input type="text" id="a5" ></td>
<td><input type="text" id="b5" ></td>
</tr>
</table>
<input type=button value=count onclick=cute()>

<script language="javascript">
function cute()
{
var t=[];
for(var i=1;i<6;i++)
{
eval("t["+(i-1)+"] = document.getElementById('a"+i+"').value");

}
alert(count(t));

}
function count(arrT)
{
var s=arrT;
var arr = [];
for(var i=0;i<s.length;i++)
{
if(i==0)
{
arr.push(s[i]);
}else
{
var flag = false;
for(var j=0;j<arr.length;j++)
{
if(arr[j]==s[i])
{
flag = true;
break;
}
}
if(!flag) arr.push(s[i]);
}
}
return arr.length;
}
</script>
mx1029 2006-11-23
  • 打赏
  • 举报
回复
to hbjmdx008(每天都要来csdn)
....你测试过吗?
hbjmdx008 2006-11-23
  • 打赏
  • 举报
回复
<script language="javascript">
function count(){
var tot =1;
var count=0;
for(i=1;i<=5;i++){
flag=false
for(x=1;x<=5;x++){//document.getElementByName("a"+i).value
if(eval(document.getElementByName("a"+i).value) == eval(document.getElementByName("a"+x).value){
flag=true;
break;
}
}
if(flag){
count++;
}
}
alert(count);

}
</script>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧