69想给他那个没有节操的网站弄个批量勾选复制链接的功能,(迅雷批量下载你懂的) 我就顺手写了一段,实现的功能是可以全选反选单选多选并复制已选的内容,复制功能仅支持IE,非IE浏览器的复制需要FLASH支持,略麻烦,在此略过.
首先这个JS可以剖尸为这几个部分:
- 一键全选或取消
- 获取checkbox的已选项
- 赋到另一个textarea或者input中,
- 然后复制这个textarea的值
这是代码
一.JS部分
function checkAll(name)//全选 { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i<len; i++) { if((el[i].type=="checkbox") && (el[i].name==name)) { el[i].checked = true; } } } function clearAll(name)//反选 { var el = document.getElementsByTagName('input'); var len = el.length; for(var i=0; i<len; i++) { if((el[i].type=="checkbox") && (el[i].name==name)) { el[i].checked = false; } } } function getChecked() {//获取checkbox已选项 var result = ''; var form = document.getElementById('getStart'); if(typeof form.xhd.length != 'undefined') { for(var i=0; i<form.xhd.length; i++) { if(form.xhd[i].checked) { result += form.xhd[i].value + ' '; } } } else { if(form.xhd_type.checked) { result += form.xhd_type.value + ' '; } } if(result == '') { document.getElementById('result').innerHTML =''; } else { document.getElementById('result').innerHTML = result; } } function copyTo(theField,isalert)//复制 { var obj=document.getElementById(theField); if(obj!=null) { var clipBoardContent=obj.value; obj.select(); window.clipboardData.setData("Text",clipBoardContent); if(isalert!=false) alert("DONE!"); } else { alert("ERROR!"); } }
二.HMTL部分
<form id="getStart" name="getStart"> <div> <li> <input type="checkbox" name="test" value="" onclick="if(this.checked==false) { clearAll('xhd');getChecked(); } else { checkAll('xhd');getChecked(); }"/>全选/取消</li> <li> <input type="checkbox" name="xhd" value="123" onclick="getChecked();" />链接123</li> <li> <input type="checkbox" name="xhd" value="456" onclick="getChecked();" />链接456</li> <li> <input type="checkbox" name="xhd" value="890" onclick="getChecked();" />链接890</li> <li> <input type="checkbox" name="xhd" value="XXX" onclick="getChecked();" />链接XXX</li> </div> <div> <textarea id="result" name="result" value="还未选择"></textarea> <button onclick="javascript:copyTo('result',true);">复制</button> </div> </form>
这是DEMO
js-copy-checkbox is coded by http://xiaohudie.net. Any posts here is one hundred percent original, so please keep my link so as not to hurt this pretty girl. -
不知道作甚用的,路过还是留名
这篇没发现。。