⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkbox_test.html

📁 采用JSP + Ajax + 文本来演示多选、全选
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> JSP+Ajax 添加删除Checkbox实例 example test</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script type="text/javascript">
function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1) 
      return element;
    elements.push(element);
  }
  return elements;
}

//cody by jarry;
var emptyCol="",overCol="#f1f1f1",checkedCol="#F4FFF4";
function getAbsoluteLeft( ob ){
 if(!ob){return null;}
   var obj = ob;
   var objLeft = obj .offsetLeft;
   while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){
     objLeft += obj .offsetParent.offsetLeft;
     obj = obj .offsetParent;
   }
 return objLeft ;
}

// get absolute TOP position
function getAbsoluteTop( ob ){
 if(!ob){return null;}
 var obj = ob;
 var objTop = obj .offsetTop;
 while( obj != null && obj .offsetParent != null && obj .offsetParent.tagName != "BODY" ){
   objTop += obj .offsetParent.offsetTop;
   obj = obj .offsetParent;
 }
 return objTop ;
}
String.prototype.trim = function()
{ return this.replace(/(^\s*)|(\s*$)/g, "");}
function isExist(child,obj){	
	//obj has element the child;

   for(var i=0;i<obj.elements.length;i++){
    if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
	   //alert(obj.elements[i].value.trim() +" | "+ child.trim());
       if(obj.elements[i].value.trim() == child.trim() )return true;
    }
   }
   return false;
}

function validateURL(url){
	//validateURL
	if(url.search(/^[A-Za-z0-9 -]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/)!=0){
	return false;
	//}else if(url.substring(0,4)=="www."){
	//网址不要前面的www.,如果没用的话可以注释掉;
	//return false;
	}else{
	return true;
	}
}

function countLength(obj){
 if(obj==null)return;
 var dLen = 0,sLen = 0;
 for(i=0; i< obj.length; i++ ){
   if(obj.charCodeAt(i) > "0" && obj.charCodeAt(i) < "128")
     sLen+=1;
	else
      dLen+=2;
 }
  totalLen = sLen+dLen;
  return totalLen;
}
var strAll=unescape("%u5168%u9009");
var canAll=unescape("%u53D6%u6D88");

function clickchk(obj){
var allcheck=true;
   for(var i=0;i<obj.elements.length;i++){
    var eli = obj.elements[i];
    if(eli.tagName.toLowerCase()=="input" && eli.type=="checkbox"){
	  eli.parentNode.style.backgroundColor = eli.checked ? checkedCol :"";
      if(eli.checked==false){allcheck=false;}
     }
  }
  obj.elements["check"].value=allcheck?canAll:strAll;  
}
function addSite(obj){

  var url=obj.url.value.trim();
  if(url.match(/^\s*$/g) || !validateURL(url)){alert("请输入正确网址:如mysite.com");obj.url.focus();return;}
  if(isExist(url,obj)){alert("你添加的网址已经存在列表中");return;}


  var list=document.getElementById("list");
  var chkbox=document.createElement("input");
  chkbox.type="checkbox";
  chkbox.onclick=function(){clickchk(obj);}//全部选择后check按钮显示取消;
  chkbox.value=url;
  chkbox.name="url_chkbox";
  var hr=document.createElement("hr");
  hr.size="0";hr.style.borderTop="1px solid gray";
  var txt=document.createTextNode(url);  
  var div=document.createElement("div");
  div.appendChild(chkbox);
  div.appendChild(txt);
  div.style.borderBottom="1px dashed gray";
  div.style.padding="5px";
  //div.appendChild(hr);
  //div.style.backgroundColor = "olive";
  div.onmouseover=function(){
   showDelete(this);
  }
  div.onmouseout=function(){
   hideDelete(this);
   //alert("d");
  }
  
//start add element;
  list.appendChild(div);
//end add;

//如果已经添加了多选框则去掉禁用;
  if(obj.check.disabled==true){
    obj.check.disabled=false;
    obj.recheck.disabled = false;
    obj.remove.disabled=false;
    }

return false;
}
function checkall(obj){//全选or取消全选;
	var chk=obj.elements["check"];
   for(var i=0;i<obj.elements.length;i++){
    if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
      if(chk.value==strAll){//check all checkbox input;
      obj.elements[i].checked=true;
	  obj.elements[i].parentNode.style.backgroundColor = checkedCol;
      }else{
       obj.elements[i].checked=false;
	   obj.elements[i].parentNode.style.backgroundColor = emptyCol;
      }
         
    }
  } 
  if($('list').childNodes.length<=1)return;
  chk.value=chk.value==canAll?strAll:canAll;
  //更改全选/取消的显示;
}
function reverseCheck(obj){
  	var chk=obj.elements["check"];
   for(var i=0;i<obj.elements.length;i++){
    if(obj.elements[i].tagName.toLowerCase()=="input" && obj.elements[i].type=="checkbox"){
      obj.elements[i].checked = obj.elements[i].checked ? false : true;
    }
    clickchk(obj);
  } 
}


function del(list,obj){
//删除list的内容
  var candel=false;
  var i=list.childNodes.length;
  var end = -1;
   while(  i > end ){  //如果存在child
     var  s=list.childNodes[i];
	 if(typeof(s)!="undefined"  && s.tagName){
         try{ //如果child的类型不为空;
		        var tgname = s.tagName.toUpperCase();
				if(tgname != "DIV" || s.childNodes.length <=0 )return;
				//子集是div且还有子集
                var s1 = s.childNodes[0];
				if( s1.type.toLowerCase() =="checkbox" && s1.checked==true ){
				//如果该子集里的checkbox选中,那么删除改子集(div);
				 candel = true;		
				 list.removeChild(s);
			   }			
          }catch(ex){ 
           //alert(ex.toString());         
         }
       }
        
      i--;
   }
   if(candel==false){alert("请选择你要删除的选项")}
  
isDisabledButton();
     
}
function isDisabledButton(){
  var objform=document.sitelist;
  var list=$("list");
 var hasDivChild = false;
 if(list.childNodes.length>0 ){
	 for(var i=0;i<list.childNodes.length;i++){
	    var s=list.childNodes[i];
		if( typeof(s)!="undefined"  && s.tagName) {
			if(s.tagName.toUpperCase()=="DIV")
			hasDivChild = true;
		}
	 }
 }
  objform.check.disabled= hasDivChild?false:true;
  objform.recheck.disabled= hasDivChild?false:true;
  objform.check.value=strAll;
  objform.remove.disabled= hasDivChild?false:true; 
}

function delSingle(objparent,objdel,objchild){
	   objparent.removeChild(objchild);
       objdel.style.display="none";
//
   isDisabledButton();
  
}

function editSingle(objparent,objedit,objchild){
	 

	 function makeLink(text , tag){
		 var temobj = document.createElement(tag);
		 temobj.style.marginLeft="5px"; temobj.style.marginRight="5px";
		 temobj.style.textDecoration="underline";temobj.style.cursor="pointer";
		 temobj.appendChild( document.createTextNode(text) );

		  return temobj;	 
	 }
	 try{
	 var secondChild = objchild.childNodes[1];
	/* if(secondChild.childNodes[0]){
	   if(secondChild.childNodes[0].value.trim()=="")return;
	 }
	 if(secondChild==null || secondChild.length<=0 )return;
*/
	 var url = secondChild;
	 var urlStr =  url.nodeValue ;//? url.nodeValue : url.toString() ;
     if(urlStr==null || urlStr.trim=="")return;

	 var editorPanel = document.createElement("span");
	 objchild.removeChild(url);
	 var editor = document.createElement("input");
	 editor.type="text";
	 //var maxLen = parseInt(objparent.style.width) - 250;
	 var maxLen = 50;
     var thisLen = parseInt( countLength(urlStr) );
	 editor.size =  maxLen > thisLen ? thisLen : maxLen;
	 editor.value = urlStr;
     editor.select();
	 editor.onmouseover=function(){this.select();}

	 var update =  makeLink("update","font");update.title="更新";
	 update.onclick=function(){
	    //updateContens();
        var newvalue = editor.value;
		if(newvalue.trim() == "" || !validateURL(newvalue)){editor.focus();alert("请输入正确的网址");return;}
		//alert(objparent.parentNode.elements.length);
		if(isExist(newvalue , objparent.parentNode)){alert("您输入的网址已经存在");return;}
		objchild.childNodes[0].value = newvalue;
	    objchild.removeChild(objchild.childNodes[1]);
	    objchild.appendChild(document.createTextNode(newvalue));
	 }
	 var cancle =  makeLink("cancle","font");cancle.title="取消";
	 cancle.onclick=function(){
	    objchild.removeChild(objchild.childNodes[1]);
	    objchild.appendChild(url);
	 }

	 //add to editorPanel;
	 editorPanel.style.fontSize="11px";
	 editorPanel.style.color="blue";
     editorPanel.appendChild(editor);
     editorPanel.appendChild(update);
     editorPanel.appendChild(document.createTextNode("|"));
     editorPanel.appendChild(cancle);
	 //add to objchild;
	 objchild.appendChild(editorPanel);
   }catch(ex){
      alert(ex.toString());
   }finally{
      //
   }
}

var currentDiv;
function showDelete(self){
  self.style.backgroundColor = overCol;
 currentDiv = self;
 var theid = "del_icon";
 if(!$(theid)){
	 var delDiv=document.createElement("div");
	 delDiv.id=theid;
	 var d=delDiv;
	 d.style.textAlign="center";d.style.fontSize="11px";
	 var edit = document.createElement("span");
	 edit.title="编辑此条";edit.style.textDecoration="underline";
     edit.onclick=function(){
         editSingle(currentDiv.parentNode,this.parentNode,currentDiv);
	 }

	 var del =  document.createElement("span");
	 del.title="删除此条";del.style.textDecoration="underline";
     del.onclick=function(){
         delSingle(currentDiv.parentNode,this.parentNode,currentDiv);
	 }

	 edit.appendChild(document.createTextNode("edit"));

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -