總結_CheckBoxList js中

前臺aspx文件
C#代碼
  1.  1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="chkandrdo.aspx.cs" Inherits="chkandrdo" %>   
  2.  2    
  3.  3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  4.  4    
  5.  5 <html xmlns="http://www.w3.org/1999/xhtml" >   
  6.  6 <head runat="server">   
  7.  7     <title>CheckBoxList,RadioButtonList,checkbox,radio等在控件在js中的調用</title>   
  8.  8 </head>   
  9.  9 <body>   
  10. 10     <form id="form1" runat="server">   
  11. 11     <div>   
  12. 12         <%--服務器端控件--%>   
  13. 13         <asp:CheckBoxList ID="chkBox1" runat="server" οnclick="javascript:CheckASP(this);"></asp:CheckBoxList><br/>   
  14. 14         <asp:RadioButtonList ID="radButList" runat="server" onClick="javascript:Vadaitorvalue(this);"></asp:RadioButtonList><br/>   
  15. 15         <asp:Button ID="btnCheck" runat="server" Text=" 檢 測 " OnClientClick="return CheckValue();" OnClick="btnCheck_Click"/><br/>   
  16. 16         <%--服務器端控件--%>   
  17. 17         <br/><br/><br/>   
  18. 18            
  19. 19         <%--由HTMLControl轉化來的服務器控件--%>   
  20. 20         <a href="javascript:CheckAll();">全選</a> <a href="javascript:Reservall();">反選</a>.   
  21. 21         <br/><br/>   
  22. 22         <input id="chkBox2" runat="server" type="checkbox"/><br /><%--這裏我設置了name屬性,但是在瀏覽器下,這個name屬性卻變成了和ID同值,不知道怎麼在客戶端中取得這個值。--%>   
  23. 23         <input id="chkBox3" runat="server" type="checkbox" οnclick="javascript:CheckChkBoxValue("chkBox3");" /><br />   
  24. 24         <input id="radButList2" runat="server" type="radio" name="radButList2Name"/>海闊<br />   
  25. 25         <input id="radButList3" runat="server" type="radio" name="radButList2Name"/>天空<br />   
  26. 26         <input id="btnCheck2" type="button" value=" 檢 測 " runat="server" onserverclick="btnCheck2_ServerClick" /><br />   
  27. 27         <%--由HTMLControl轉化來的服務器控件--%>   
  28. 28         <br/><br/><br/>   
  29. 29         <a href="javascript:CheckAllHtmlCheckBox('CheckboxProvience');">全選</a> <a href="javascript:ReservallCheckBox('CheckboxProvience');">反選</a>.   
  30. 30         <br/><br/>   
  31. 31         <input id="Checkbox1" type="checkbox"  name="CheckboxProvience"/><br />   
  32. 32         <input id="Checkbox2" type="checkbox"  name="CheckboxProvience"/><br />   
  33. 33         <input id="Checkbox3" type="checkbox"  name="CheckboxProvience"/><br />   
  34. 34         <input id="Radio2" type="radio" name="Provience" />   
  35. 35         <input id="Radio1" type="radio" name="Provience" /></div>   
  36. 36     </form>   
  37. 37 </body>   
  38. 38 </html>   
  39.   
  40. js 文件   
  41.   1     <script language="javascript" type="text/javascript">   
  42.   2        
  43.   3         function CheckASP(object)   
  44.   4         {   
  45.   5             //alert(object.length); //這裏我們得不到,原因是在客戶端生成的代碼改變了   
  46.   6             //for(var i=0;i<object.length;i++)   
  47.   7             //if(object[i].checked)   
  48.   8             //alert(object[i].value);   
  49.   9                
  50.  10             //如果這裏我們想得到要選中的值,方法還是有的,但是和常規的有所不同   
  51.  11             var chkInput = object.getElementsByTagName("INPUT");   
  52.  12             var chkLable = object.getElementsByTagName("Label");   
  53.  13             for(var i=0;i<chkInput.length;i++)   
  54.  14             {   
  55.  15                 if(chkInput[i].checked)   
  56.  16                 {   
  57.  17                     alert(chkLable[i].innerHTML);   
  58.  18                 }   
  59.  19             }   
  60.  20         }   
  61.  21            
  62.  22        function Vadaitorvalue(object)   
  63.  23        {   
  64.  24             var radInput = object.getElementsByTagName("INPUT");   
  65.  25             var radLable = object.getElementsByTagName("Label");   
  66.  26                
  67.  27             for(var i=0;i<radInput.length;i++)   
  68.  28             {   
  69.  29                 if(radInput[i].checked)   
  70.  30                 {   
  71.  31                     alert(radLable[i].innerHTML);   
  72.  32                 }   
  73.  33             }   
  74.  34                
  75.  35        }   
  76.  36    
  77.  37            
  78.  38         function CheckValue()   
  79.  39         {   
  80.  40             //在JS端調用CheckBoxList   
  81.  41             var chkObject = document.getElementById('<%=chkBox1.ClientID%>');   
  82.  42             var chkInput =chkObject.getElementsByTagName("INPUT");   
  83.  43             for(var i=0;i<chkInput.length;i++)   
  84.  44             {   
  85.  45                 if(chkInput[i].checked)   
  86.  46                 {   
  87.  47                     alert(chkInput[i].value);// 這裏我們只能得到這個複選框中是否存在選中的項目,而不能在客戶端得到選中項的值,而且這個也和其它的控件有所不同.   
  88.  48                     return true;   
  89.  49                 }   
  90.  50             }   
  91.  51                
  92.  52             //在Js端調用RadioButtonList   
  93.  53             var rdoObject = document.getElementById("radButList");   
  94.  54             var rdoInput  = rdoObject.getElementsByTagName("INPUT");   
  95.  55             for(var i=0;i<rdoInput.length;i++)   
  96.  56             {   
  97.  57                 if(rdoInput[i].checked)   
  98.  58                 {   
  99.  59                     alert(rdoInput[i].value);   
  100.  60                     return true;   
  101.  61                 }   
  102.  62             }   
  103.  63             return false;   
  104.  64         }   
  105.  65            
  106.  66         function CheckAll()   
  107.  67         {   
  108.  68             var object = document.getElementsByName("Region"); //不能用document.getElementsByName("Provience")來得到這裏的值,如果我想要獲得這個name爲provience的全部值,我要怎麼做呢??   
  109.  69             alert(object.length);   
  110.  70                
  111.  71             //在這裏始終不能取得由HTML控件CheckBox轉化過來的WebControl的所有個數,不知道這個怎麼解決。   
  112.  72                
  113.  73             //取得所有由HTML轉化過來的WebControl的   
  114.  74             var objet = document.getElementsByName("radButList2Name");   
  115.  75             for(var i=0;i<objet.length;i++)   
  116.  76             {   
  117.  77                 if(objet[i].checked)   
  118.  78                 alert(objet[i].value);   
  119.  79             }   
  120.  80         }   
  121.  81            
  122.  82         function Reservall()   
  123.  83         {   
  124.  84             //由於這個由Html轉化過來的服務器控件的名字不能確定,所以這個也不能得到反選    
  125.  85             //後臺cs文件中對於由html轉化過來的服務器控件的明明有個name屬性,不知道爲什麼這裏就是不能設置   
  126.  86         }   
  127.  87            
  128.  88         function changeidd(str)   
  129.  89         {   
  130.  90             alert(str);   
  131.  91         }   
  132.  92            
  133.  93         function CheckChkBoxValue(object)   
  134.  94         {   
  135.  95             alert(object.value);   
  136.  96             alert(object.getAttribute("Region"));//這裏竟然可以得到這個Provience  ,但是還是不能得到全部的有region這個域的個數。   
  137.  97 //            var ob= document.getArrtibute("Region");   
  138.  98 //            alert(ob.length);   
  139.  99         }   
  140. 100            
  141. 101         function CheckAllHtmlCheckBox(obj)   
  142. 102         {   
  143. 103             var object = document.getElementsByName(obj);   
  144. 104             for(var i=0;i<object.length;i++)   
  145. 105                 {   
  146. 106                     object[i].checked=true;   
  147. 107                 }   
  148. 108         }   
  149. 109            
  150. 110        function ReservallCheckBox(obj)   
  151. 111        {   
  152. 112             var object = document.getElementsByName(obj);   
  153. 113             for(var i=0;i<object.length;i++)   
  154. 114             {   
  155. 115                 object[i].checked=!object[i].checked;   
  156. 116             }   
  157. 117        }   
  158. 118           
  159. 119     </script>   
  160.   
  161. 後臺cs文件   
  162.   
  163.  1 using System;   
  164.  2 using System.Data;   
  165.  3 using System.Configuration;   
  166.  4 using System.Collections;   
  167.  5 using System.Web;   
  168.  6 using System.Web.Security;   
  169.  7 using System.Web.UI;   
  170.  8 using System.Web.UI.WebControls;   
  171.  9 using System.Web.UI.WebControls.WebParts;   
  172. 10 using System.Web.UI.HtmlControls;   
  173. 11 using System.Data.SqlClient;   
  174. 12    
  175. 13 public partial class chkandrdo : System.Web.UI.Page   
  176. 14 {   
  177. 15     protected void Page_Load(object sender, EventArgs e)   
  178. 16     {   
  179. 17         //WebControl -> CheckBoxList   
  180. 18         if (!Page.IsPostBack)   
  181. 19             BindchkBox1();   
  182. 20         //WebControl -> RadioButtonList   
  183. 21         if (!Page.IsPostBack)   
  184. 22             BindradButList();   
  185. 23    
  186. 24         //HTMLControl -> ServerControl -checkbox   
  187. 25         if (!Page.IsPostBack)   
  188. 26             BindServerCheckBox();   
  189. 27    
  190. 28     }   
  191. 29    
  192. 30    
  193. 31     public void BindchkBox1()   
  194. 32     {   
  195. 33         ListItem li = new ListItem("江蘇""JS");   
  196. 34         chkBox1.Items.Insert(0, li);   
  197. 35         li = new ListItem("上海""SH");   
  198. 36         chkBox1.Items.Insert(0, li);   
  199. 37     }   
  200. 38    
  201. 39     protected void btnCheck_Click(object sender, EventArgs e)   
  202. 40     {   
  203. 41         for (int i = 0; i < chkBox1.Items.Count; i++)   
  204. 42         {   
  205. 43             if (chkBox1.Items[i].Selected)   
  206. 44                 Response.Write(chkBox1.Items[i].Value);   
  207. 45         }   
  208. 46    
  209. 47         for (int i = 0; i < radButList.Items.Count; i++)   
  210. 48         {   
  211. 49             if (radButList.Items[i].Selected)   
  212. 50                 Response.Write(radButList.Items[i].Value);   
  213. 51         }   
  214. 52     }   
  215. 53    
  216. 54    
  217. 55     protected void BindradButList()   
  218. 56     {   
  219. 57         ListItem li = new ListItem("南通""NT");   
  220. 58         radButList.Items.Insert(0, li);   
  221. 59         li = new ListItem("蘇州""SZ");   
  222. 60         radButList.Items.Insert(0, li);   
  223. 61     }   
  224. 62    
  225. 63     protected void BindServerCheckBox()   
  226. 64     {   
  227. 65         chkBox2.Attributes.Add("Region""Provience");   
  228. 66         chkBox2.Attributes.Add("onclick","changeidd('ddd');");//這裏我爲chkBox2註冊了一個事件   
  229. 67         chkBox3.Value = "SH";   
  230. 68         chkBox3.Attributes.Add("Region""Provience");   
  231. 69    
  232. 70         radButList2.Value = "海闊";   
  233. 71         Response.Write(radButList2.TagName);//得到input   
  234. 72         radButList3.Value = "天空";   
  235. 73         chkBox2.Name = "RadioButtonListArr";//這裏明明可以設置name 屬性,但是卻沒有什麼作用,不知道爲什麼???   
  236. 74         chkBox3.Name = "RadioButtonListArr";   
  237. 75     }   
  238. 76    
  239. 77     protected void btnCheck2_ServerClick(object sender, EventArgs e)   
  240. 78     {   
  241. 79         Response.Write(chkBox2.Value);//但是如果我想得到所有選中的由HTML轉化過來的服務器控件的值,我該怎麼辦呢??   
  242. 80         Response.Write(Request.Form["radButList2Name"]);   
  243. 81     }   
  244. 82 }  
發佈了8 篇原創文章 · 獲贊 5 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章