<!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. hdu 3466 排序01背包

    也是好题,带限制的01背包,先排序,再背包 这题因为涉及到q,所以不能直接就01背包了.因为如果一个物品是5 9,一个物品是5 6,对第一个进行背包的时候只有dp[9],dp[10],…,dp[m], ...

  2. poj 2195 二分图带权匹配+最小费用最大流

    题意:有一个矩阵,某些格有人,某些格有房子,每个人可以上下左右移动,问给每个人进一个房子,所有人需要走的距离之和最小是多少. 貌似以前见过很多这样类似的题,都不会,现在知道是用KM算法做了 KM算法目 ...

  3. 人生维艰,何不利用开源.NET函数库让工作更轻松

    今天推荐的文章会谈到一些让你工作更轻松的开源.NET函数库. 即使业界有时候认为.NET开源社区不太健康,很多开发团队都更多依赖于微软提供的东西来开发.不过最近在.NET世界中还是诞生了一些优秀和有意 ...

  4. mysql如何修改表类型(表引擎)

    参考阅读:http://www.manongjc.com/article/1205.html 最近遇到一个修改 MySQL 表类型的问题,以前在 phpmyadmin 管理 mysql 数据库时,建立 ...

  5. 电赛菜鸟营培训(五)——OLED屏幕的使用

    一.取模软件的使用 首先进行设置 然后可以生成显示这个字母的代码,列优先,先按列画8行,然后再继续画下一列.汉字为16*16,字母为8*8,对应生成相应个数的ox代码. 二.STM32烤写OLED # ...

  6. javascript操作cookies

    1.读取cookies getCookie: function(c_name){ if (document.cookie.length > 0) { var c_start = document ...

  7. Lazy Acquisition

    为什么要延迟? 延迟加载模式是用于快速启动.保证初始化时不必浪费时间去加载和运算,而在需要的时候再去调用. 框架中有实现吗? .NET典型的使用在4.0中已经有了,Lazy<T> 特性:线 ...

  8. Revit二次开发示例:ErrorHandling

    本示例介绍了Revit的错误处理.   #region Namespaces using System; using System.Collections.Generic; using Autodes ...

  9. 在python包管理中使用easy_install软件的步骤

    本文主要介绍的是让python包管理变得更加容易的实际应用方法,就是运用easy_install这一软件,下面是文章的具体介绍. easy_install让python包管理变得 如果你想对Pytho ...

  10. POJ 1523 (割点+连通分量)

    题目链接:http://poj.org/problem?id=1523 题目大意:连通图,找图中割点,并计算切除该割点后,图中的连通分量个数. 解题思路: POJ的数据很弱. Tarjan法求割点. ...