1)复选框选中及下拉框选中指定项(删除项)
.技术分析
复选框的全选、反选和不选其主要应用JavaScript脚本,通过自定义函数完成。
(1)在通过JavaScript脚本中的自定义函数完成复选框的全选、反选和不选功能中,应用的第一个方法是:
getElementsByTagName,获取指定标签的名称,返回值为一个包含标签信息的object。
(2)根据getElementsByTagName标签返回的对象,判断标签类型(type)的值是否是checkbox。
(3)当标签类型type的值为checkbox时,为标签中的checked赋值。当checked的值为true时,为它赋值为false;当checked的值为false时,为它赋值为true。
(4)在页面中通过script标签调用js文件夹下的文件,应用onClick事件调用自定义函数,完成全选、反选和不选功能的实现。
应用实例
在本示例中实现复选框的全选、反选和不选功能。其具体步骤如下:
(1)创建js文件夹,编写reg.js脚本文件。在reg.js中,编写自定义函数,实现全选、反选和不选功能。reg.js文件的关键代码如下:
function uncheckAll(form1,status) { //不选
var elements=form1.getElementsByTagName('input'); //获取input标签
for(var i=0; i<elements.length; i++){ //根据标签的长度执行循环
if(elements[i].type=='checkbox') { //判断对象中元素的类型
if(elements[i].checked==true){ //判断当checked的值为true时
elements[i].checked=false; //为checked赋值为false
}
}
}
}
function checkAll(form1,status){ //全选
var elements=form1.getElementsByTagName('input');
for(var i=0; i<elements.length; i++){
if(elements[i].type=='checkbox') {
if(elements[i].checked==false){
elements[i].checked=true;
}
}
}
}
function switchAll(form1,status) { //反选
var elements=form1.getElementsByTagName('input');
for(var i=0; i<elements.length; i++){
if(elements[i].type=='checkbox'){
if(elements[i].checked==true){
elements[i].checked=false;
}else if(elements[i].checked==false){
elements[i].checked=true;
}
}
}
}
(2)创建index.php页面,输出会员信息,并添加图像按钮,通过onClick事件调用JavaScript自定义函数实现全选、反选、不选和删除的功能。其关键代码如下:
<script language="javascript" src="js/reg.js"></script>
<form method="post" name="form1" id="form1" action="index_ok.php">
<tr>
<td width="62" align="center"><input name="conn_id[]" type="checkbox" id="conn_id[]" value="1" /></td>
<td width="242"><?php echo $myrow[id];?></td>
<td width="243"><?php echo $myrow[user];?></td>
<td width="485"><?php echo $myrow[pass];?></td>
<td width="485"><?php echo $myrow[dates];?></td>
</tr>
<tr>
<td colspan="5" align="center"><!--通过onClick事件调用自定义函数,执行相应的操作-->
<img src="images/bg_19-20.jpg" onclick="checkAll(form1,status)" width="62" height="25" />
<img src="images/bg_14-14.jpg" onclick="switchAll(form1,status)" width="62" height="25" />
<img src="images/bg_07-08.jpg" width="62" height="25" onclick="uncheckAll(form1,status)" />
<input type="image" name="imageField" src="images/bg_14.jpg" />
</td>
</tr>
</form>
第二种方法:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
window.onload=function(){
var oInput=document.getElementsByName("hobby");
var oBtn1=document.getElementById("select_all");
oBtn1.onclick=function(){
for(var i=0;i<oInput.length;i++){
oInput[i].checked=true;
}
}
var oBtn2=document.getElementById("no_all");
oBtn2.onclick=function(){
for(var i=0;i<oInput.length;i++){
oInput[i].checked=false;
}
}
var oBtn3=document.getElementById("fanxuan");
oBtn3.onclick=function(){
for(var i=0;i<oInput.length;i++){
oInput[i].checked=!oInput[i].checked;
}
}
}
</script>
</head>
<body>
游泳:<input type="checkbox" name="hobby" checked="checked" /><br/>
打球:<input type="checkbox" name="hobby" /><br/>
下棋:<input type="checkbox" name="hobby" /><br/>
打魔兽:<input type="checkbox" name="hobby" /><br/>
打麻将:<input type="checkbox" name="hobby" /><br/>
打豆豆:<input type="checkbox" name="hobby" /><br/>
<input type="button" value="全选" id="select_all" />
<input type="button" value="全不选" id="no_all"/>
<input type="button" value="反选" id="fanxuan"/>
</body>
</html>
第三种方法:
用鼠标选择单个元素或一组元素。
如需了解更多有关 selectable 交互的细节,请查看 API 文档 可选择小部件(Selectable Widget)。
默认功能
在某个 DOM 元素上或者一组元素上启用 selectable 功能。通过鼠标拖拽选择条目。按住 Ctrl 键,选择多个不相邻的条目。
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>jQuery UI 选择(Selectable) - 默认功能</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.9.1.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"> <style> #feedback { font-size: 1.4em; } #selectable .ui-selecting { background: #FECA40; } #selectable .ui-selected { background: #F39814; color: white; } #selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; } #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; } </style> <script> $(function() { $( "#selectable" ).selectable(); }); </script></head><body> <ol id="selectable"> <li class="ui-widget-content">Item 1</li> <li class="ui-widget-content">Item 2</li> <li class="ui-widget-content">Item 3</li> <li class="ui-widget-content">Item 4</li> <li class="ui-widget-content">Item 5</li> <li class="ui-widget-content">Item 6</li> <li class="ui-widget-content">Item 7</li></ol> </body></html>
显示为网格
让 selectable 条目显示为网格,使用 CSS 使得它们带有相同的尺寸且浮动显示。
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>jQuery UI 选择(Selectable) - 显示为网格</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css"> <script src="//code.jquery.com/jquery-1.9.1.js"></script> <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script> <link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css"> <style> #feedback { font-size: 1.4em; } #selectable .ui-selecting { background: #FECA40; } #selectable .ui-selected { background: #F39814; color: white; } #selectable { list-style-type: none; margin: 0; padding: 0; width: 450px; } #selectable li { margin: 3px; padding: 1px; float: left; width: 100px; height: 80px; font-size: 4em; text-align: center; } </style> <script> $(function() { $( "#selectable" ).selectable(); }); </script></head><body> <ol id="selectable"> <li class="ui-state-default">1</li> <li class="ui-state-default">2</li> <li class="ui-state-default">3</li> <li class="ui-state-default">4</li> <li class="ui-state-default">5</li> <li class="ui-state-default">6</li> <li class="ui-state-default">7</li> <li class="ui-state-default">8</li> <li class="ui-state-default">9</li> <li class="ui-state-default">10</li> <li class="ui-state-default">11</li> <li class="ui-state-default">12</li></ol> </body></html>
序列化
写一个函数,在 stop
事件发生时触发,来收集被选中条目的索引值。呈现这些值作为反馈,或者以数据字符串形式进行传递。
*请认真填写需求信息,我们会在24小时内与您取得联系。