2011-03-10 62 views
0

我已經完成了類似的操作。如何使複選框在多種情況下啓用和禁用文本框

<html> 
<head> 
<script type="text/javascript"> 
<!-- 
function toggleTB(what){ 
if(what.checked){document.theForm.theTB.disabled=1} 
else{document.theForm.theTB.disabled=0}} 
//--> 
</script> 
</head> 
<body> 
<form name="theForm"> 
<input type="checkbox" name="theCB" onClick="toggleTB(this)">Toggle The Text Box<br> 
<input type="text" name="theTB" value="asdf"> 
</form> 
</body> 
</html> 

但這僅用於一個再寄一次重複需要這個功能在其他行也讓我怎麼能使用此功能多次。

我的形式是這樣的:

<tr>  
<td style="border-top:none; text-decoration:underline;" >Specific operations/procedures</td> 
<td> 
<input type="checkbox" name="sd3[]" value="mfi_nam9" />Other(please specify): 
<input type="text" name="mfi_nam9" class="text required" id="mfi_name" 
</td> 
</tr> 
<tr>  
<td style="border-top:none; text-decoration:underline;" >General principles/strategies</td> 
<td> 
<input type="checkbox" name="sd2[]" value="mfi_nam8" />Other(please specify): 
<input type="text" name="mfi_nam8" class="text required" id="mfi_name" 
</td> 
</tr> 

我將等待烏拉圭回合的反應,我非常感謝u人幫助我以前並希望你能幫助我這個時間太長。

回答

1

閱讀本article

我寧願jQuery的

這裏是DEMO

Another DEMO

+0

我喜歡這個,但是當我使用jquery-1.5時,我的設計受到影響。那麼該怎麼做,除了jQuery之外,還有其他解決方案嗎? – Nyaro 2011-03-10 09:13:39

0

我們可以把代碼和不喜歡
1的Javascript修改的修改:
function toggleTB(what,elid) { if(what.checked) { document.getElementById(elid).disabled=1 } else { document.getElementById(elid).disabled=0 } }
2.複選框HTML代碼的修改,我們已經使用了的ID被改變爲
<input type="checkbox" name="sd3[]" value="mfi_nam9" onClick="toggleTB(this,'mfi_name1')" />Other(please specify): <input type="text" name="mfi_nam9" class="text required" id="mfi_name1" />
注即使您從php代碼生成這些文本框,也可以生成每個文本框。

0

的onclick添加到每個複選框

<input type="checkbox" name="sd2[]" value="mfi_nam8" onClick="toggleTB(this)" />Other(please specify): 

,並宣佈toggleTB作爲

function toggleTB(what){ 
    what.form.elements[what.value].disabled = what.checked; 
} 
0

Java腳本修飾:

function toggleTB(what){ 

var theTB = document.getElementById(what.value); 

if(what.checked){theTB.disabled=1} 
else{theTB.disabled=0} 

}

HTML修飾:

<table> 
    <tr>  
    <td style="border-top:none; text-decoration:underline;" >Specific operations/procedures</td> 
    <td> 
    <input type="checkbox" name="sd3[]" onClick="toggleTB(this)" value="mfi_nam9" />Other(please specify): 
    <input type="text" name="mfi_nam9" id="mfi_nam9" class="text required" /> 
    </td> 
    </tr> 
    <tr>  
    <td style="border-top:none; text-decoration:underline;" >General principles/strategies</td> 
    <td> 
    <input type="checkbox" name="sd2[]" onClick="toggleTB(this)" value="mfi_nam8" />Other(please specify): 
    <input type="text" name="mfi_nam8" id="mfi_nam8" class="text required" /> 
    </td> 
    </tr> 

</table> 

說明:這裏我用ID而不是NAME來驗證表格輸入框元素。

我覺得這沒有什麼意義,以禁用檢查事件相關複選框文本框中。您可能想要啓用文本框只要有人選中複選框指定其他的東西,我不知道你想要做什麼。

如果你想去做什麼,我猜,只是改變了JAVA SCRIPT線爲波紋管 -

if(what.checked){theTB.disabled=0} // have placed 0 in place of 1 
    else{theTB.disabled=1} // have placed 1 in place of 0 
} 

HTML INPUT-BOX爲波紋管 -

,或者如果你認爲要切換(啓用/禁用)複選框,這是不可能的,因爲你知道禁用一個元素後點擊事件不會對第e元素,所以它將如何禁用:)

相關問題