2010-11-09 79 views
0

我有3個webforms控件:3個複選框和1個文本框。當檢查2個複選框時將文本放入文本框中

當我檢查checkbox1和checkbox2,然後在文本框中它應該顯示爲1,2

如何使用ASP.NET webforms控件完成此操作?

+2

重複的問題由同一用戶:http://stackoverflow.com/questions/4091208/checkbox-selected-values-in-comma-sepearted-string-in-textbox-using-vb-net,http:// stackoverflow.com/questions/4130800/insert-checkbox-checked-value-when-checked-to-textbox-as-comma-seperated-string,以及http://stackoverflow.com/questions/4127492/vb-net-add除了很多其他的許多其他功能之外,還可以將checkbox-checked-values-to-textbox-closed。 – jwiscarson 2010-11-09 16:13:51

回答

0

最簡單的方法是使用JavaScript來修改文本框的內容。

<script language="javascript"> 
    var c1 = document.getElementById('<%=myCheckBox1.ClientID%>'); 
    var c2 = document.getElementById('<%=myCheckBox2.ClientID%>'); 
    var c3 = document.getElementById('<%=myCheckBox3.ClientID%>'); 
    var t = document.getElementById('<%=myTextBox.ClientID%>'); 

    function setTextBox() 
    { 
     if(c1.checked) t.value = "1"; 
     if(c2.checked) t.length > 0 ? ",2" : "2"; 
     if(c3.checked) t.length > 0 ? ",3" : "3"; 
    } 
</script> 

然後爲你的複選框添加以下代碼片段:

onClientClick="setTextBox()" 

編輯:如果您選擇使用jquery,一些這段代碼的大概可以減少/簡化。如果你需要使顯示的邏輯更復雜一點(比如當點擊1和2而不是3時改變文本框的值),這可以用setTextBox()中的JavaScript來完成。

+0

okey告訴我.... jquery ...代碼...但我想使用asp.net標準控件(複選框和文本框)不是html – user515609 2010-11-09 16:17:50

+0

@ user495854 - 此腳本使用asp.net標準控件。它只是不需要回發來執行更改。在你的另一個相同的問題中提出的答案不僅僅是回答簡單的回發方法。 – 2010-11-09 16:27:44

相關問題