新微赢技术网

标题: 关于复选框的问题???? [打印本页]

作者: 逍遥    时间: 2010-1-19 03:48
标题: 关于复选框的问题????
这是关于一个复选框的问题!!!!
复选框有 商品管理 分类管理等,其中还有一个是 全部选中
当我点击<input type="checkbox" name="checkbox2" value="Check All" onClick="mm()"> //全部选中...
<script language=javascript>
function mm()
{
var a = document.getElementsByTagName("input"); / /请问这句代码是什么意思???
if(a[0].checked==true){ / /还有这句?为什么a[0]保存的就是全部选中这个复选框
for (var i=0; i<a.length; i++)
if (a[i].type == "checkbox") a[i].checked = false;
}
else
{
for (var i=0; i<a.length; i++)
if (a[i].type == "checkbox") a[i].checked = true;
}
}
</script>
作者: 飞你默属    时间: 2010-1-19 03:48
getElementsByTagName
返回值:有返回值
语法:
arrElements = object . getElementsByTagName ( sTagName )
参数:
sTagName :? 必选项。字符串(String)。
返回值:
arrElements :? 数组(Array)。如果无符合条件的对象,则返回空数组。
说明:
在 object 中获取并返回标记名称等于 sTagName 的一组对象的引用。
该DOM方法等同于DHTML Object Model的 all 集合的 tags 方法。


实例:
  1. <script>
  2. function rdl_getTags(){
  3. event.cancelBubble=true;
  4. var oWorkItem=event.srcElement;
  5. var aReturn=oWorkItem.parentElement.getElementsByTagName("li");
  6. document.all("id_info").innerHTML="您选定的列表内有项目: <span style=\"color:#FF3300;\">"+aReturn.length.toString()+"<\/span> 个<br>"+"它的第一个列表项目是: <span style=\"color:#FF3300;\">"+aReturn[0].childNodes[0].nodeValue+"<\/span>";window.resizeTo(436,360);
  7. }
  8. function rdl_hoverLI(){
  9. event.cancelBubble=true;
  10. with (event.srcElement) {if (tagName.toLowerCase()=="li") style.color="#003399";}
  11. }
  12. function rdl_outsideLI(){
  13. event.cancelBubble=true;
  14. with (event.srcElement) {if (tagName.toLowerCase()=="li") style.color="#000000";}
  15. }
  16. </script>

  17. <ul onclick="rdl_getTags();" style="cursor:default;" onmouseover="rdl_hoverLI();" onmouseout="rdl_outsideLI();">
  18. <li>列表项目1
  19. <ul>
  20. <li>列表项目1-1
  21. <ul>
  22. <li>列表项目1-1-1
  23. <li>列表项目1-1-2
  24. </ul>
  25. <li>列表项目1-2
  26. <li>列表项目1-3
  27. </ul>
  28. <li>列表项目2
  29. <ul>
  30. <li>列表项目2-1
  31. <li>列表项目2-2
  32. </ul>
  33. <li>列表项目3
  34. </ul>
  35. <span id=id_info></span>
复制代码

作者: 藍麥可兒    时间: 2010-1-19 03:48
SORRY!本人还是不怎么懂????????????

<input name="qx" type="checkbox" id="qx" value="1">
商品管理
<input name="qx2" type="checkbox" id="qx2" value="1">
分类管理
<input name="qx3" type="checkbox" id="qx3" value="1">
订单管理
.......
.......
<input name="checkbox1" type="checkbox" onClick="mm()" value="Check All">
全部选中
-------------------------------------------------------------------------------
<script language=javascript>
function mm()
{
var a = document.getElementsByTagName("input"); / /请问这句代码是什么意思???
if(a[0].checked==true){ / /还有这句?为什么a[0]保存的就是全部选中这个复选框
for (var i=0; i<a.length; i++)
if (a[i].type == "checkbox") a[i].checked = false;
}
else
{
for (var i=0; i<a.length; i++)
if (a[i].type == "checkbox") a[i].checked = true;
}
}
</script>


为什么点上面的全部选中调用下面的程序就把复选框全部选中呢???
还有这里的 var a = document.getElementsByTagName("input"); input 是不是指<input name="qx2" type="checkbox" id="qx2" value="1"> 上面用红色字的这里的input
还有a[0]里面的值到底是什么值???????????
谢谢
作者: Rain    时间: 2010-1-19 03:48
楼上最后的猜测应该是对的,下面是我的理解(本人没有系统学过javascript,都是赶鸭上加型)
a[]把input里的元素名存为数组
a[0]就是最下维,那句话用来检查input元素是否为空,非空就for ( var i= 0;i<a.length;i++)给遍历一次,每次都检查此元素是否为"checkbox",是的话就取消选择或者选择
作者: 鰰﹎話    时间: 2010-1-19 03:48
我也是这样猜的,就怕猜错,还加上点糊惑所以贴出来让各位指教.....
(本人没有系统学过javascript,都是赶鸭上加型) 我也一样...抓紧学
作者: 唏唏鉿鉿HJP    时间: 2010-1-19 03:48
document.getElementsByTagName("input");
这个是取得控件的一种方式!就像documeng.getElementByID("***")一样。不过后者是取得一个数组,本页所有以<input....>的方式生成的控件。而a[0]表示的是在本页中的第一个使用<input....>的方式生成的控件!
呵呵,我也是看过一部分这样的书,描述的准确,但大概就这么个意思。
作者: 淺藍銫dē爱    时间: 2010-1-19 03:48
寒假看书,偷了本javascript权威指南,天书啊,不好意思,是借,打错
作者: 阿玛比雷    时间: 2010-1-19 03:48
楼上的说的什么书?
不过我看过JS方面的一些书,的确讲的太。。。。吓人-_-#
作者: 莣囨孓love    时间: 2010-1-19 03:48
很厚的说,著名的O'REILLY出版,是译本(英文偶看不明),足足有1015页,可以称作javascript天书,标价99RMB,所以去图书馆借回来了(根本买不起啊)
作者: 加非猫    时间: 2010-1-19 03:48
以下是引用conn在2006-1-6 13:56:00的发言:
document.getElementsByTagName("input");
这个是取得控件的一种方式!就像documeng.getElementByID("***")一样。不过后者是取得一个数组,本页所有以<input....>的方式生成的控件。而a[0]表示的是在本页中的第一个使用<input....>的方式生成的控件!
呵呵,我也是看过一部分这样的书,描述的准确,但大概就这么个意思。
看过这以后是晴天一片,乌云已去.....

当初我最想不通的是a[0]这里...
a[0]是true 那么下面全是true

当初我注意力在 全部选中 这个复选框.当初还以为a[0]里面存的是全部选中这个值
看来各位多吃完饭回来了

多谢各位...




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2