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

📄 checkbox.js

📁 采用JSP + Ajax + 文本来演示多选、全选
💻 JS
📖 第 1 页 / 共 2 页
字号:
  if(obj.check.disabled==true){
		disableButton( false , obj );
    }

	return false;
}


function del(list,obj){

var suburl = "action/delete.jsp";
var params = "del=yes";
var no = 0;
var candel=false;


for(var i=0;i<obj.elements.length;i++){
     var elem=obj.elements[i];

	 if( elem.type.toUpperCase() == "CHECKBOX"){
		 if(elem.checked) candel = true;//如果有一项被选中;

		 no++;
		 //if( elem.checked )params+= "&"+( elem.name+"="+encodeURIComponent(elem.value.trim()) );	
		 if( elem.checked )params += ("&no"+ no +"="+no);//返回当前选中的序列号
	 }
}
if(candel==false){
	alert("请选择你要删除的选项")
    return;		
}

if( !confirm("您确定要删除选中的内容?") ) 	return ;

/*******************/
//delete selected checkbox from web page;

function deletecheckbox(){
//删除list的内容
  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--;
   }

//set buttons 的状态
 setStatus($("list"),document.sitelist); 
}
///////////////////


/*******************/
//start xmlhttp post;
 showTip("正在删除...");
//delete selected checkbox from server;
	function delcheckbox(){
          var delinfo = this.req.responseText;

    		if(delinfo.indexOf("\"$deleteOK$\"")!=-1){
				//得到添加成功反馈后即开始通过DOM删除,不用重新load页面或者数据
			closeTip(); 
			deletecheckbox();
		}
	}

  var deletecheck = new net.ContentLoader( suburl ,delcheckbox ,null,"POST",params,null);
  
}

function getThisListNo(theobj , parobj){
	//返回theobj在parobj的第n个位置;
	var list = parobj;var no=null;var i;
	 for(i=0;i<list.childNodes.length;i++){
	    var s=list.childNodes[i];
		if( typeof(s)!="undefined"  && s.tagName) {
			if(s.tagName.toUpperCase()=="DIV" && s ==theobj )
			     no = i;
		}
	 }
	return (no);
}
//Edit the item
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{
		 //得到显示的url,第2个子集第1个值
     var secondChild = objchild.childNodes[1].childNodes[0];
	/* 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() ;
	 //alert(urlStr);
	 if(urlStr==null || urlStr.trim=="")return;
   
	 var editorPanel = document.createElement("span");
	 objchild.removeChild(objchild.childNodes[1]);//删除第2个子集
	 var editor = document.createElement("input");

	 //var maxLen = parseInt(objparent.style.width) - 250;
	 var maxLen = 50;
     var thisLen = parseInt( countLength(urlStr) );
	 editor.size =  maxLen > thisLen ? thisLen : maxLen;
	 editor.value = urlStr;
	 var listno = getThisListNo(objchild,objparent) + 1;//getCheckBoxLen(objparent.parentNode);//list里当前div的序列号;

	 editor.name = "url_chkbox" + ( listno );
	 editor.type="text";editor.style.fontSize="12px";
	 //editor.select();//editor.focus();
	 editor.onmouseover=function(){this.focus();}
     editor.ondblclick=function(){this.select();}//double click selected
	 var update =  makeLink("update","font");update.title="更新";
     editor.onkeypress = function(event){
	    var kc=null;
		try{
			if(window.event)
				kc = window.event.keyCode;
			else
				kc = event.keyCode;
		}catch(e){		}
       if(kc!=null && kc==13){
	        update.onclick();return false;
	   }
	 }
	 update.onclick=function(){
	    //updateContens();
        var newvalue = editor.value;
		if(newvalue.trim() == "" || !validateURL(newvalue)){editor.focus();showTip("请输入正确的网址");closeTip();return;}
		if(isExist(newvalue , objparent.parentNode)){showTip("您输入的网址已经存在");closeTip();return;}
		function feedUpdate(){
           var feed = this.req.responseText;
		    //alert(feed);
    		if(feed.indexOf("\"$updateOK$\"")!=-1){
			  closeTip();
			  updating();
		    }
		}		
		function updating(){
		objchild.childNodes[0].value = newvalue;
		objchild.removeChild(objchild.childNodes[1]);
        var ahref = ahrefLink(newvalue,"span");
	    objchild.appendChild( ahref );
		}
		if(urlStr==editor.value){updating();return;}//如果没有修改则只执行js更新,并不提交后台;
		
		showTip("更新中..");
		var suburl = "action/update.jsp";
		var params = "";//如果已经修改,则提交后台更新处理;
		var na = encodeURIComponent(editor.name);var va = encodeURIComponent(editor.value);
        params = "name="+ na + "&value="+ va + "&desc="+ va +"&no="+listno;
		//alert(params);
		var up = new net.ContentLoader( suburl+"?"+params ,feedUpdate ,null,"GET",null,null);//if method is GET
		//var up = new net.ContentLoader( suburl,feedUpdate ,null,"POST",params,null);//if POST data;
	 }


	 var cancle =  makeLink("cancle","font");cancle.title="取消";
	 cancle.onclick=function(){
	    objchild.removeChild(objchild.childNodes[1]);
        var ahref = ahrefLink(urlStr,"span");
	    objchild.appendChild( ahref );
	 }

	 //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{
      //
   }
}


//删除一条当前行的内容
function delSingle(objparent,objdel,objchild){
showTip("正在删除...");
var suburl = "action/delete.jsp";
var params = "del=yes";
	  function deleteThis(){
       var delinfo = this.req.responseText;
      if(delinfo.indexOf("\"$deleteOK$\"")!=-1){//得到添加成功反馈后即开始通过DOM添加
  
       //页面上删除;
	   objparent.removeChild(objchild);
       objdel.style.display="none";
		//set buttons 的状态
	   setStatus($("list"),document.sitelist); 
		closeTip();
		}
      }


     for(var i=0;i<objparent.childNodes.length;i++){
	  //alert(objchild.firstChild.name)
	    //alert(objparent.childNodes[i].childNodes[0].name);
		var opi = objparent.childNodes[i];
		if(opi == objchild) params+= ("&no=" + (i+1) );
	 }
	 var deleteit = new net.ContentLoader( suburl ,deleteThis ,null,"POST",params,null);
}



//var cl = new Array();////if use checkbox_list.jsp;
//得到由jsp后发解析的文本,生成的js数组,用eval执行;
 function parseJS(){
   //本函数用来调用显示checkbox list,如果采用checkbox_list.jsp则用此函数
	 for(var i=0; i<cl.length; i++){
       //define checkbox
	   var chkbox=document.createElement("input");
	   chkbox.type="checkbox";
	   chkbox.onclick=function(){clickchk(document.sitelist);}//全部选择后check按钮显示取消;
	   var hr=document.createElement("hr");
	   hr.size="0"; hr.style.borderTop="1px dashed gray";

	      for(var x=0; x< cl[0].length; x++){
             //set the checbox attribute
			 chkbox.name = cl[i][1];
			 chkbox.value =  cl[i][2];

		var ahref = spanLink(cl[i][3],"span");//改a为span,以便快速去掉链接

		  }

		//start add element;
         appendToList(chkbox,ahref);
		 closeTip();
	 }
   }


////if use action/checkbox_text.jsp;
//得到文本,由js来解析,效果与parseJS()类似;
function  parseTxt(data){
   var cl = new Array();
   var cla = data.split("\r\n");
//   alert( cla.length  );
   for(var i=0; i< cla.length -1; i++){
        cli = cla[i].split("\t");
		cl[i] = {
		    id:cli[0],
            name:cli[1],
			value:cli[2],
			txt:cli[3]		
	  }
if(cla[0].trim()=="")return;
	   var chkbox=document.createElement("input");
	   chkbox.type="checkbox";
	   chkbox.onclick=function(){clickchk(document.sitelist);}//全部选择后check按钮显示取消;
	   var hr=document.createElement("hr");
	   hr.size="0"; hr.style.borderTop="1px dashed gray";

      chkbox.name = cl[i].name;
      chkbox.value =  cl[i].value;

      var ahref = ahrefLink(cl[i].txt,"span");
     //var ahref = spanLink(cl[i].txt,"span");//改a为span,以便快速去掉链接

          // append checkbox into list DIV;
		  appendToList(chkbox,ahref);
		  closeTip();
   } 
}

⌨️ 快捷键说明

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