禁用(灰色)前一行
问题描述:
我想灰色(禁用)前一行,每当我添加一个新的行。现在我只能禁用第一个。提前谢谢了。以下是我可以做到目前为止:禁用(灰色)前一行
<head>
<SCRIPTTYPE="text/javascript">
varcount="1";
functionaddRow(in_tbl_name){
vartbody=document.getElementById(in_tbl_name).getElementsByTagName("TBODY")[0];
varrow=document.createElement("TR");
vartd1=document.createElement("TD")
varstrHtml1="<SELECTNAME=\"sel_1\"><optionvalue=\"a\">a<optionvalue=\"b\">b<optionvalue=\"c\">c<optionvalue=\"d\">d</SELECT>";
td1.innerHTML=strHtml1.replace(/!count!/g,count);
row.appendChild(td1);
count=parseInt(count)+1;
tbody.appendChild(row);
myform.sel1.disabled=true;
}
functiondelRow(){
varcurrent=window.event.srcElement;
while((current=current.parentElement)&¤t.tagName!="TR");
current.parentElement.removeChild(current);
}
</SCRIPT>
</head>
<body>
<div>
<formaction="#"method="POST"name="myform">
<divstyle="">
<TABLEID="mytable"name="mytable"border="1"STYLE="border-width:1pxorangedashed;background-color:#F0E68C;table-row-width:2;">
<TR>
<TD>
<selectsize="1"name="sel1">
<optionvalue="a">a</option>
<optionvalue="b">b</option>
<optionvalue="c">c</option>
<optionvalue="d">d</option>
</select>
</TD>
</TR>
</TABLE>
</div>
<div>
<INPUTTYPE="Button"onClick="addRow('mytable')"VALUE="Add">
</div>
</form>
</div>
</body>
答
在该行上应用CSS。 Row's没有任何“禁用”的概念 - 它们只是行。它们如何出现是由CSS驱动的。
更新:如果要禁用行中的表单输入,只需在上一行中找到该元素即可。 jQuery,或手动(使用DOM方法),如果SELECT
的DOM路径始终相同。
+0
非常感谢。我怎样才能编写相同的脚本,而不必在JavaScript中输入选择选项?因为我的选项的列表很长: 一个 b c 以及更多.... – DGT 2010-07-08 22:53:29
+0
如果您不想使用JS为每行生成相同的select,请填写另一个问题。 – 2010-07-09 21:55:49
代码中的空格发生了什么变化? – SLaks 2010-07-08 20:33:12
回答:使用jQuery。 – 2010-07-08 20:37:46