<table width="200" border="1">
<tr>
<td>序号</td>
<td>判断</td>
</tr>
<tr>
<td><label>
<input name="textfield" type="text" value="1">
</label></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield2" type="text" value="1"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield3" type="text" value="2"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield4" type="text" value="1"></td>
<td> </td>
</tr>
</table>请教如何实现如下的效果:
通过JS逐行对表格的文本框进行比较,当文本框的值为1时,“判断”一列的值显示为“yes“
反之,则显示为"no"
for(var i=0;i<txtList.length;i++){
if(txtList[i].tagName=="INPUT"){
txtList[i].value = txtList[i].value=="1"?"yes":"no";
}
}
for(var i=0;i<txtList.length;i++){
if(txtList[i].tagName=="INPUT"){
txtList[i].value = txtList[i].value=="1"?"yes":"no";
}
}上面的答案应该可以满足你的要求了啊!
我是希望“yes”和“No”出现在判断那一列上(也就是在文本框的后面一列)
您的代码是将“yes”和“No”直接显示在文本框了
麻烦再帮忙看一下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<SCRIPT LANGUAGE="JavaScript">
<!--
$(function(){
var $trs = $('#tableId tr');
$trs.each(function(){
var $tds = $(this).find('td');
if($tds.eq(0).find('input').val() == 1){
$tds.eq(1).html('yes');
}
if($tds.eq(0).find('input').val() == 2){
$tds.eq(1).html('no');
}
})
})
//-->
</SCRIPT>
</HEAD> <BODY>
<table id="tableId" width="200" border="1">
<tr>
<td>序号</td>
<td>判断</td>
</tr>
<tr>
<td><label>
<input name="textfield" type="text" value="1">
</label></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield2" type="text" value="1"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield3" type="text" value="2"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield4" type="text" value="1"></td>
<td> </td>
</tr>
</table> </BODY>
</HTML>
<tr>
<td>序号</td>
<td>判断</td>
</tr>
<tr>
<td><label>
<input name="textfield" type="text" value="1">
</label></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield2" type="text" value="1"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield3" type="text" value="2"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield4" type="text" value="1"></td>
<td> </td>
</tr>
</table><SCRIPT LANGUAGE="JavaScript">
var inps = document.getElementById("tab").getElementsByTagName("input"); //取tab中所有的input
for (var i=0; i<inps.length; i++) //遍历取到的input
{
var TDobj = inps[i].parentElement; //取input的父元素
if(TDobj.tagName.toLowerCase()!='td') TDobj = TDobj.parentElement; //若父元素不是td就再向上一层(第一行的input嵌套在label标签内)
if (inps[i].value == 1) TDobj.nextSibling.innerHTML = "yes"; //input为1,给隔壁的td写入内容yes
else TDobj.nextSibling.innerHTML = "no"; //input不为1,给隔壁的td写入内容no
}
</SCRIPT>
<tr>
<td>序号</td>
<td>判断</td>
</tr>
<tr>
<td><label>
<input name="textfield" type="text" value="1">
</label></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield2" type="text" value="1"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield3" type="text" value="2"></td>
<td> </td>
</tr>
<tr>
<td><input name="textfield4" type="text" value="1"></td>
<td> </td>
</tr>
</table><SCRIPT LANGUAGE="JavaScript">
var inps = document.getElementById("tab").getElementsByTagName("input"); //取tab中所有的input
for (var i=0; i<inps.length; i++) //遍历取到的input
{
var TDobj = inps[i].parentElement; //取input的父元素
if(TDobj.tagName.toLowerCase()!='td') TDobj = TDobj.parentElement; //若父元素不是td就再向上一层(第一行的input嵌套在label标签内)
if (inps[i].value == 1) TDobj.nextSibling.innerHTML = "yes"; //input为1,给隔壁的td写入内容yes
else TDobj.nextSibling.innerHTML = "no"; //input不为1,给隔壁的td写入内容no
}
</SCRIPT>
最好用parentNode
顺便问下,nextSibling是通用的不?to LZ:if (inps[i].value == a) TDobj.nextSibling.innerHTML = "yes";
//变量就是这样了,不过别忘了给变量赋值