如何通过按键

时间:2016-01-11 08:36:01

标签: javascript php checkbox

我在这里有一些复选框

checkbox

代码

<input type="checkbox" class="noreg" name="noreg[]" value="111006">
<input type="checkbox" class="noreg" name="noreg[]" value="111007">
<input type="checkbox" class="noreg" name="noreg[]" value="111008">
<input type="checkbox" class="noreg" name="noreg[]" value="111009">
<input type="checkbox" class="noreg" name="noreg[]" value="111010">

我想查看一些复选框,其中包含像phpmyadmin

中的保持移位按钮

enter image description here

有人可以帮我这个吗? 谢谢!

3 个答案:

答案 0 :(得分:1)

使用PHP是不可能的,但你用jQuery实现了相同的效果。

&#13;
&#13;
$(".master-noreg").change(function () {
    var boolIsChecked = false;
    if ($(this).is(":checked"))
    {
        boolIsChecked = true;
    }
    $(".noreg").prop("checked", boolIsChecked);
});
$(".noreg").change(function () {
    if ($(this).is(":checked"))
    {
        if ($(".noreg").length == $(".noreg:checked").length)
        {
            $(".master-noreg").prop("checked", true);
        }
    } 
    else
    {
        $(".master-noreg").prop("checked", false);
    }

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="master-noreg">Check All<br/>
    <input type="checkbox" class="noreg" name="noreg[]" value="111006">1<br/>
    <input type="checkbox" class="noreg" name="noreg[]" value="111007">2<br/>
    <input type="checkbox" class="noreg" name="noreg[]" value="111008">3<br/>
    <input type="checkbox" class="noreg" name="noreg[]" value="111009">4<br/>
    <input type="checkbox" class="noreg" name="noreg[]" value="111010">5<br/>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

如果您对解析这些多个复选框感兴趣,那么您当前的HTML代码将为您提供一个数组,您可以使用这样的foreach循环读取该数组:

$noreg = $_POST["noreg"];

foreach( $noreg as $key => $value ){
    // your code here 
}


// Or if you want a string (comma delimeted):
$noreg_str = join( "," , $noreg );

答案 2 :(得分:0)

你可以分两步完成(我假设你使用jQuery):

1)进行选择(选择行):

var shiftHold = false, rangeStart = null;
$(body).keydown(function (e) {
    if (e.keyCode == <shift>) { // put actual 'Shift'-press detection here
        shiftHold = true;
        rangeStart = null;
    }
});

$('.noreg[type=checkbox]').click(function () {
    var rangeEnd = this;
    if (rangeStart == null) {
        rangeStart = this;
    }

    // here you must check that 'rangeStart' element goes before 'rangeEnd'
    // or reverse them if needed

    rangeStart = $(rangeStart);
    var endVal = $(rangeEnd).val();
    while (rangeStart) {
       rangeStart.addClass("selected");
       if (rangeStart.val() == endVal )
           break;
       rangeStart = rangeStart.next('.noreg[type=checkbox]');
    }
});

2)现在,当您按下“Shift”选择行时,在其底部添加另一个复选框,并在单击时选中所选行:

最简单的改为html:

<input type="checkbox" class="noreg" name="noreg[]" value="111006">
...
<input type="checkbox" class="noreg" name="noreg[]" value="111010">
...
<input type="checkbox" class="check-sel">Check selected

..和其他处理程序:

$('.check-sel').change(function () {
    var checked = $(this).is(":checked");
    $('.noreg.selected[type=checkbox]').each(function () {
        $(this).prop("checked", checked);
    });
});