//选定全部的CHECKBOX
function Select_all()
{
var obj=document.getElementsByTagName("input");
var str="";
for (var i=0;i<obj.length;i++)
{
if(obj[i].type=="checkbox")
{
obj[i].checked=true;
}
}
}
function Select_all()
{
var obj=document.getElementsByTagName("input");
var str="";
for (var i=0;i<obj.length;i++)
{
if(obj[i].type=="checkbox")
{
obj[i].checked=true;
}
}
}
解决方案 »
- ExtJS的问题请教,为啥我使用的元素每一个都会换行呢?
- 如何将html中的表单信息保存在cookie里
- enter按钮事件如何把按钮转到easyui的combobox,datetimebox等事件上去啊?
- 请专家指点迷津,如何设置文本框只能输整数,能带+-号,首位数不能是0的JS完整代码效果,谢谢 。
- 有100分赠送,时间差的计算问题
- js数组中如果有重复的值,怎么把重复的删掉????
- (难度大)如何获取页面中的click对应的值
- 为什么看不见我画的图??
- 关于图形滚动条!
- 請問javascript的參數類型如果是字符串的話﹐最大的長度是多少個英文字符﹖
- 怎样在网页上加上网络实名?
- 给text付值的方法?
{
obj[i].checked=true;
}改为
if(obj[i].type=="checkbox")
{
alert(obj[i].checked);
obj[i].checked=true;
alert(obj[i].checked);
}
前后分别检查一下,看是否有变化.....再判断问题所在.
但是在页面上复选框却无法显示出打钩的状态!!!1
http://fason.nease.net/download/我再把脚本贴出来吧(具体的脚本可以从上面的下载地址下载来看,就2个js)demo.js脚本----------------------var demo = new TreeView();
demo.setImagePath("images/");
demo.add(1,0,"根目录","javascript:void(0)",Icon.root.src);
demo.add(2,1,"子目录一","javascript:void(0)",null);
demo.add(3,1,"子目录二","javascript:void(0)",null);
demo.add(4,2,"孙目录一","javascript:void(0)",null);
demo.add(5,2,"孙目录二","javascript:void(0)",null);
demo.add(6,4,"曾孙目录一","javascript:void(0)",null);
demo.add(7,4,"曾孙目录二","javascript:void(0)",null);
demo.add(8,6,"玄孙目录一","javascript:void(0)",null);
demo.add(9,6,"玄孙目录二","javascript:void(0)",null);
demo.add(10,3,"孙目录一","javascript:void(0)",null);
demo.add(11,3,"孙目录二","javascript:void(0)",null);
demo.add(12,10,"曾孙目录一","javascript:void(0)",null);
demo.add(13,1,"曾孙目录二","javascript:void(0)",null);
demo.add(14,5,"曾孙目录一","javascript:void(0)",null);
demo.add(15,5,"曾孙目录二","javascript:void(0)",null);
var Icon = {
root : "root.gif",
folderopen : "folderopen.gif",
folderclosed : "folderclosed.gif",
Rminus: "Rminus.gif",
Rplus: "Rplus.gif",
minusbottom: "Lminus.gif",
plusbottom: "Lplus.gif",
minus: "minus.gif",
plus: "plus.gif",
join: "T.gif",
joinbottom: "L.gif",
blank: "blank.gif",
line: "I.gif"
}window.TV = [];
function TreeView()
{
this.id = window.TV.length;
window.TV[this.id] = this;
this.target = "_self";
this.checkbox = false;
this.Nodes ={ 0 : { ID : 0, ParentID : -1, Text : null, Href : null, Image : null, childNodes: new Array() } };
}
var tv = TreeView.prototype;
tv.setTarget = function(v) {
this.target = v;
}
tv.setCheckbox = function(v) {
this.checkbox = v;
}
tv.setName = function(v) {
this.name = v;
}
tv.setImagePath = function(sPath) {
for(o in Icon){
tmp = sPath + Icon[o];
Icon[o] = new Image();
Icon[o].src = tmp;
}
}
tv.add = function(iD,ParentiD,sText,sHref,sImage) {
this.Nodes[iD] = { ID : iD, ParentID : ParentiD, Text : sText, Href : sHref, Image : sImage , childNodes: new Array() , open : false , checked : false };
var ch = this.getNode(ParentiD).childNodes;
ch[ch.length] = this.Nodes[iD];
};
tv.getNode = function(sKey) {
if (typeof this.Nodes[sKey] != "undefined")
{
return this.Nodes[sKey];
}
return null;
};
tv.getParentNode = function(ID) {
var key = this.getNode(ID).ParentID;
if(this.getNode(key) == null) return null;
return this.getNode(key);
}
tv.hasChildNodes = function(sKey) {
return this.getNode(sKey).childNodes.length > 0;
};
tv.isLastNode = function(sKey) {
var node = this.getNode(sKey);
var par = this.getParentNode(sKey);
if(par == null) node.isLast = true;
else if (typeof node["isLast"] == "undefined") {
for(var i = 0;i<par.childNodes.length;i++)
if(par.childNodes[i].ID == sKey) break;
node.isLast = (i == par.childNodes.length-1)
}
return node.isLast;
};
tv.getRoot = function(ID) {
var par = this.getParentNode(ID);
if (this.getNode(ID).ParentID == 0)
{
return this.getNode(ID);
}
else
{
return this.getRoot(par.ID);
}
}
tv.drawNode = function(ID) {
var html = "";
var node = this.getNode(ID);
var rootid = this.getRoot(ID).ID;
var hc = this.hasChildNodes(ID);
html += '<div class="TreeNode" nowrap>'+this.drawIndent(ID)+
'<a id="node'+ID+'" class="Anchor" href="'+node.Href+'" target="'+this.target+'" onclick ="window.TV['+this.id+'].openFolder('+ID+')" ondblclick="window.TV['+this.id+'].openHandler('+ID+')"><img id="folder'+ID+'" src="'+( node.Image ? node.Image : Icon.folderclosed.src)+'" align="absmiddle">'+
(this.checkbox ? ('<input type=checkbox id="checkbox'+ID+'" name="'+this.name+'" onclick="window.TV['+this.id+'].oncheck('+ID+')">') : '')+
'<span>'+ node.Text +'</span></a></div>\n'
if (hc) {
var io = ID == rootid;
node.open = io;
html += ('<div id="container'+ID+'" style="display:'+(io ? '' : 'none')+'">\n');
html += this.addNode(ID);
html += '</div>\n';
}
return html;
}tv.addNode = function(ID) {
var node = this.getNode(ID);
var html = "";
for(var i = 0;i<node.childNodes.length;i++)
html += this.drawNode(node.childNodes[i].ID);
return html;
}tv.drawIndent = function(ID) {
var s = ''
var ir = this.getRoot(ID).ID == ID;
var hc = this.hasChildNodes(ID);
if(this.getParentNode(ID) != null)
s += ((hc ? '<a href="javascript:void window.TV['+this.id+'].openHandler('+ID+');" target="_self">':'')+'<img id="handler'+ID+'" src="'+ (this.hasChildNodes(ID) ? (ir ? Icon.Rminus.src : (this.isLastNode(ID) ? Icon.plusbottom.src : Icon.plus.src)) : (ir ? Icon.blank.src : (this.isLastNode(ID) ? Icon.joinbottom.src : Icon.join.src))) + '" align="absmiddle">'+(hc?'</a>':''));
var p = this.getParentNode(ID);
while(p != null)
{
if(this.getParentNode(p.ID) == null)break;
s = ('<img src="'+(this.isLastNode(p.ID) ? Icon.blank.src : Icon.line.src) + '" align="absmiddle">')+s;
p = this.getParentNode(p.ID);
}
return s;
}
tv.setSelected = function(ID) {
if(this.selectedID) { document.getElementById("node" + this.selectedID).className = "Anchor";}
this.selectedID = ID;
document.getElementById("node" + ID).className = "selected";
}
tv.oncheck = function(ID) {
var o = this.getNode(ID);
var v = o.checked;
o.checked = document.getElementById("checkbox" + ID).checked;
this.checkChildren(ID,o.checked);
this.checkParent(ID);
};
tv.check = function(ID,v){
this.getNode(ID).checked = v;
document.getElementById("checkbox" + ID).checked = v;
}
tv.checkChildren = function(ID,v){
var ch = this.getNode(ID).childNodes;
for(var i = 0;i<ch.length;i++){
this.check(ch[i].ID,v);
this.checkChildren(ch[i].ID,v);
}
}
tv.checkParent = function(ID) {
var par = this.getParentNode(ID);
if(ID != this.getRoot(ID).ID){
for(var j = 0;j<par.childNodes.length;j++)
if(!par.childNodes[j].checked) break;
this.check(par.ID,(j == par.childNodes.length));
this.checkParent(par.ID);
}
}tv.openHandler = function(ID) {
if (this.hasChildNodes(ID)) {
if (this.getNode(ID).open) {
this.collapse(ID);
}
else {
this.expand(ID);
}
}
}
tv.expand = function(ID) {
var handler = document.getElementById("handler"+ID);
var container = document.getElementById("container"+ID);
handler.src = this.getRoot(ID).ID == ID ? Icon.Rminus.src : ( this.getNode(ID).isLast ? Icon.minusbottom.src : Icon.minus.src);
container.style.display = '';
this.getNode(ID).open = true;
}
tv.collapse = function(ID) {
var handler = document.getElementById("handler"+ID);
var container = document.getElementById("container"+ID);
handler.src = this.getRoot(ID).ID == ID ? Icon.Rplus.src : ( this.getNode(ID).isLast ? Icon.plusbottom.src : Icon.plus.src);
container.style.display = 'none';
this.getNode(ID).open = false;
}
tv.openFolder = function(ID)
{
if(this.selectedID){
if(this.getNode(this.selectedID).Image == null) {document.getElementById("folder"+this.selectedID).src = Icon.folderclosed.src;}
}
var folder = document.getElementById("folder" + ID);
if(this.getNode(ID).Image == null) folder.src = Icon.folderopen.src;
this.setSelected(ID);
this.selectedID = ID;
folder.parentNode.blur();
}
tv.toString = function() {
return this.addNode(0);
}
html页面的主要html语句---------------------------------------
<link rel ="stylesheet" type="text/css" href="css/TreeView.css">
<script language="JavaScript" src="js/tv.js"></script>
<script language="JavaScript" src="js/demo.js"></script>
<script language="JavaScript">
<!--
function fSelect()
{
var chk = demo.Nodes;
for(var o in chk)
{
if(chk[o].Text == "曾孙目录二")
chk[o].checked = true;
}
}
//-->
</script>
</head>
<body>
<script language="JavaScript">
<!--
demo.setCheckbox(true);
demo.setName = "demoTree";
document.write(demo)
//-->
</script>
<br><br>
<input type="button" value=" test " onclick="fSelect()">
</body>
</html>