w_all_checked - js -checkbox 多选、全选、submit、request

<!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>
时间: 2024-10-11 08:19:02

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

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

字符串的另一种写法:<<<AAAA; 后两个AA回车要求定格  不然报错 例子: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 </head> 7 <body> 8 <?php 9 $str = &

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

在项目开发中,由于刚刚开始做项目,我对js还不是很精通,所以在用js对表格的全选和删除中遇到了不少问题,后来通过查找资料解决了,之后总结了一下关于js表格的全选和删除出现的一些问题,希望能帮助到大家. 以下是我自己做的一个小例子,用来更简单明了的说明js全选和删除. 一.全选的说明:当选中全选的checkbox时,下面1-5都会选中,没有选中时1-5都不会选中,这个实现不难,步骤如下: 1.获取全选框的选中状态, 2.for循环设置所有的单选框的选中状态 主要代码: //1.获取全选按钮 var

jqury简易实现checkbox反选与全选

前段时间,一个同事让我帮忙写个全选与反选的功能,本来一段很简单的代码,突然卡顿,写了好几个小时,其实之前也做过类似的功能,只是一下子就懵逼了,简而言之还是自己对checkbox的反选与全选没有掌握十足,所以再利用一些时间重复巩固了这个小功能,代码不长,想到了就简单,没想到就折腾好久. 就自己遇到一些坑,关于checkbox细谈一二,今天只用jquery实现 下面是html代码 <p><label><input type="checkbox" class=&

关于列表中checkbox选中,全选/反选设置

关于列表中checkbox选中,全选设置 1 <html> 2 <head> 3 <script type="text/javascript"> 4 //点击行时,checkbox处理方法 5 function doclick(id){ 6 var allche = document.getElementById("allid");//全选checkbox 7 var che = document.getElementsByNam

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

1 <script type="text/javascript"> 2 $(function(){ 3 //全选 4 $("#CheckedAll").click(function(){ 5 $('[name=items]:checkbox').attr("checked", this.checked ); 6 }); 7 $('[name=items]:checkbox').click(function(){ 8 //定义一个临时变

js实现-小框框全选

点击全选下面单独的肉也会全选,再次点击取消 一个一个点击肉,点完--全选也会被选上 HTML代码---CSS略 <table> <tr> <th> <input type="checkbox" id="checkAll" /> 全选/全不选 </th> <th>名字</th> <th>店铺</th> <th>价格</th> </t

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

上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数可以多选或全选:动态地显示列,列不是固定的:根据某一字段的值来动态地显示整行字体的颜色. 下面介绍详细的方法: 一.动态参数.参数多选全选 动态参数: 首先定义一个Dataset: SELECT DISTINCT new_countryId, new_codename AS name FROM ne

纯JS 实现 点击 全选/全不选 checkbox 功能

html <input id="select_direction" type="button" onclick="select_check();" select_direction="f" value="全选/全不选"/> js // js 全选复选框按钮 function select_check() { // 获取所有input 集合 var obj_input = document.get

Jquery中对checkbox的各种“全选”或者“取消”功能实现(特别注意1.6+的一定不能使用attr来取属性了!用prop!)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </h