<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<?php
$rand = rand(66,99);
$db = array();
for($w=0;$w<$rand;$w++){
$id = $w+rand(2,879);
$www = 'www'.rand();
$tmp = array('id'=>$id,'www'=>$www);
$db[] = $tmp;
}
?> <table>
<tr>
<td></td>
<td>www</td>
</tr>
<?php $id_all = '';
foreach ($db as $one) { ?>
<tr>
<td><input name="checkbox_batch_all" type="checkbox" value="<?= $one['id'] ?>"
id="<?= $one['id'] ?>"
onclick="w(<?= $one['id'] ?>)"></td>
<td><?=$one['www']?></td>
</tr>
<?php $id_all .= $one['id'] . 'w';
}
$id_all = substr($id_all, 0, strlen($id_all) - 1);
echo '<script>var id_all ="' . $id_all . '"</script>';
?> </table>
<button id="wdel" onclick="wdel()">删除所选</button>
<button style="display: none;" id="wdel_all" onclick="wdel_all('<?= $id_all ?>')">全部删除</button>
<button id="wdel_all_checked" onclick="wdel_all_checked()">全选/全不选</button> </form> <form id="javascript_form_hidden_batch_delete" action="" method="post">
<input type="text" name="javascript_input_batch_delete" id="javascript_input_hidden_batch_delete">
</form>
</body>
</html>
<script>
var warr = new Array();
var arr_distinct = new Array();
var wvalue = '';
function w(id) {
console.log(id);
warr.push(id);
wf(warr);
var tmp = new Array();
tmp = w_arr_copy_value(warr);
arr_distinct = w_arr_distinct(tmp);
wtip('arr_distinct', arr_distinct); var arr_odd = w_arr_odd(arr_distinct, warr);
wvalue = arr_odd.join('w');
wf(wvalue);
// wtip('arr_odd', arr_odd); }
function w_arr_distinct(arr) {
for (var wi = 0; wi < arr.length; wi++) {
var tmp = arr[wi];
if (arr.length > 1) {
for (var wj = wi + 1; wj < arr.length; wj++) {
if (arr[wj] == tmp) {
arr.splice(wj, 1);
--wj;
}
}
}
}
return arr;
}
//w_arr_distinct(w);
// wf(w);
function w_arr_odd(arr_distinct, warr) {
var len_arr_distinct = arr_distinct.length;
var len_arr = warr.length;
var arr_odd = new Array();
for (var wi = 0; wi < len_arr_distinct; wi++) {
var tmp = 0;
for (var wj = 0; wj < len_arr; wj++) {
if (arr_distinct[wi] == warr[wj]) {
if (tmp == 0) {
tmp = 1;
}
else if (tmp == 1) {
tmp = 0;
}
}
}
if (tmp == 1) {
arr_odd.push(arr_distinct[wi]);
}
}
return arr_odd;
} function w_arr_copy_value(w_source) {
var len = w_source.length;
var w_arr = new Array();
var tmp_value = 0;
for (var w = 0; w < len; w++) {
tmp_value = w_source.slice(w, w + 1);
tmp_value = tmp_value + ''; //toString
tmp_value = parseInt(tmp_value, 10); //toInt
// wf(tmp_value);
w_arr.unshift(tmp_value);
// wf(w_arr);
}
return w_arr;
} function wdel() {
console.log('del');
wf(wvalue);
var str = '';
w_all_checked ? str = id_all : str = wvalue;
if (before_submit(str)) {
do_submit(str, 'javascript_input_hidden_batch_delete', 'javascript_form_hidden_batch_delete');
}
} var w_all_checked = false; function wdel_all_checked() {
var w = document.getElementsByName('checkbox_batch_all');
w_all_checked = !w_all_checked;
for (var wi = 0, len = w.length; wi < len; wi++) {
w[wi].checked = w_all_checked;
}
} function before_submit(str) {
//alert(str.length==0);
if (str.length == 0) {
alert('请勾选删除项!');
return false;
}
return true;
} function do_submit(str, input_id, form_id) {
var w = show_confirm('您确定要删除吗?');
if (w) {
change_input_value(input_id, str);
document.getElementById(form_id).submit();
} } function show_confirm(str_tip) {
var r = confirm(str_tip);
if (r == true) {
//alert('pressed ok');
return true;
} else {
return false;
}
} function wf(w) {
console.log(w);
}
function wtip(tip, w) {
console.log(tip);
console.log(w);
} function change_input_value(input_id, value) {
wf(value);
wf(input_id);
document.getElementById(input_id).value = value;
} function w_true_false(w) {
w ? w = false : w = true;
return w;
} </script>

w_all_checked - js -checkbox 多选、全选、submit、request的更多相关文章

  1. JS中表格的全选和删除要注意的问题

    在项目开发中,由于刚刚开始做项目,我对js还不是很精通,所以在用js对表格的全选和删除中遇到了不少问题,后来通过查找资料解决了,之后总结了一下关于js表格的全选和删除出现的一些问题,希望能帮助到大家. ...

  2. jquery操作checkbox方法(全选、全不选、至少选择一个、选择值/文本)

    原文:http://blog.csdn.net/u014079773/article/details/52371382 在实际开发中我们经常操作checkbox,不仅仅要获得checkbox选中的值, ...

  3. 2016/3/30 租房子 ①建立租房子的增、删、改php页面 ②多条件查询 ③全选时 各部分全选中 任意checkbox不选中 全选checkbox不选中

    字符串的另一种写法:<<<AAAA; 后两个AA回车要求顶格  不然报错 例子: <!DOCTYPE html> <html lang="en" ...

  4. C# winform中的datagridview控件标头加入checkbox,实现全选功能。

    /// <summary> /// 给DataGridView添加全选 /// </summary> public class AddCheckBoxToDataGridVie ...

  5. checkbox 点击全选

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Jquery 利用单个复选款(checkbox)实现全选、反选

    1 <script type="text/javascript"> $(function(){ //全选 $("#CheckedAll").clic ...

  7. js实现-小框框全选

    点击全选下面单独的肉也会全选,再次点击取消 一个一个点击肉,点完--全选也会被选上 HTML代码---CSS略 <table> <tr> <th> <inpu ...

  8. Jquery 多选全选/取消 选项卡切换 获取选中的值

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 基于JQ的多选/全选/反选及获取选中的值

    <!-- author:青芒 --> <!DOCTYPE html> <html lang="en"> <head> <met ...

  10. Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

    上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...

随机推荐

  1. 开源的DevOps开发工具箱

    DevOps是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.在DevOps的整个流程中,使用一些开源工具可以促进开发与运维之间的 ...

  2. struts.xml中可以使用el表达式和ognl表达式

    转自:http://blog.csdn.net/hzc543806053/article/details/7538723 文件上传链接: 1)Servlet 文件上传 ————  点击打开链接 2)S ...

  3. 【GruntMate】一个让你更方便使用Grunt的工具

    GruntMate是什么? 一个基于Grunt的项目管理可视化工具(还不知道Grunt是什么?可以谷歌一下就知道了!) GruntMate有哪些功能? 方便的管理基于Grunt的项目 方便统一管理Gr ...

  4. 怎么在手机上查看sqlite db

    在 从 百度应用 下载“SQLite编辑器(SQLite Editor)” 安装到手机上.前体是 手机已经Root(可以用360一键Root软件进行root).

  5. 【vijos1066】弱弱的战壕 线段树

    描述 永恒和mx正在玩一个即时战略游戏,名字嘛~~~~~~恕本人记性不好,忘了-_-b. mx在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限(“mx不赢定了?!?”永恒 ...

  6. mvc-2事件监听

    现代浏览器都支持的事件 click dbclick mouseover mousemove mouseout focus blur change(表单输入框特有) submit(表单特有) addEv ...

  7. wpf 客户端【JDAgent桌面助手】开发详解(四) popup控件的win8.0的bug

    目录区域: 业余开发的wpf 客户端终于完工了..晒晒截图 wpf 客户端[JDAgent桌面助手]开发详解-开篇 wpf 客户端[JDAgent桌面助手]详解(一)主窗口 圆形菜单... wpf 客 ...

  8. OI再见

    以下是一只蒟蒻的回忆: 1.进入高一 小县城不重视OI,直到进了高中才知道有OI这个东西,于是我就开始了OI…(看,够弱的吧,相信你是小学就开始学了) 学了几天Pascal语法后,被老师报上了NOIP ...

  9. POJ2828 Buy Tickets

    题意:依次给出n个插队的情况——k,name.即标号为name的这个人插到k后,且这个过程有时间顺序. 思路:很容易想到从后往前插,也很容易想到用线段树维护个数,但是某些细节wa了很多次,代码和网上的 ...

  10. Android MVVM框架RoboBinding初探

    RoboBinding是一个实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架.MVVM模式是MVC模式的重要更新,使得项目结构更加的优美,易于维护以及方便 ...