2010-07-08 107 views
0

我想灰色(禁用)前一行,每當我添加一個新的行。現在我只能禁用第一個。提前謝謝了。以下是我可以做到目前爲止:禁用(灰色)前一行

<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)&&current.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> 
+1

代碼中的空格發生了什麼變化? – SLaks 2010-07-08 20:33:12

+0

回答:使用jQuery。 – 2010-07-08 20:37:46

回答

1

在該行上應用CSS。 Row's沒有任何「禁用」的概念 - 它們只是行。它們如何出現是由CSS驅動的。

更新:如果要禁用行中的表單輸入,只需在上一行中找到該元素即可。 jQuery,或手動(使用DOM方法),如果SELECT的DOM路徑始終相同。

+0

非常感謝。我怎樣才能編寫相同的腳本,而不必在JavaScript中輸入選擇選項?因爲我的選項的列表很長: <選擇大小= 「1」 名稱= 「SEL1」> <選項值= 「一」>一個 <選項值= 「B」> b <選項值=「c」> c 以及更多.... – DGT 2010-07-08 22:53:29

+0

如果您不想使用JS爲每行生成相同的select,請填寫另一個問題。 – 2010-07-09 21:55:49