【问题标题】:Problem selecting multiple checkboxes选择多个复选框时出现问题
【发布时间】:2011-02-09 15:03:20
【问题描述】:

我正在使用名称为“selectedids[]”的复选框,并且我正在尝试使用 JavaScript 选择所有复选框。代码不起作用。当我将复选框的名称更改为“selectedids”时,它可以工作,但我不能这样做,因为我需要在 POSTED 页面上选择的所有 id。

复选框如下:

foreach($rows as $row)
{
<input type="checkbox" name="selectedids[]" value="<?php echo $row['id']; ?>" class="checkbox" />
........
........
}

而Java-script函数如下:

function SetAllCheckBoxes(CheckValue)
{
    var CheckValue=true;
    if(!document.forms['main'])
        return;
    var objCheckBoxes = document.forms['main'].elements['selectedids[]'];
    if(!objCheckBoxes)
        return;
    var countCheckBoxes = objCheckBoxes.length;
    if(!countCheckBoxes)
        objCheckBoxes.checked = CheckValue;
    else
        // set the check value for all check boxes
        for(var i = 0; i < countCheckBoxes; i++)
            objCheckBoxes[i].checked = CheckValue;
}

请帮帮我……

提前谢谢.......

【问题讨论】:

    标签: php javascript html


    【解决方案1】:

    您可以选择使用 jQuery 吗?如果是这样,那么您可以执行以下操作:

    $(':checkbox').each(function(){
      $(this).attr('checked',true);
    });
    

    它也可能可以尝试:

    $(':checkbox').attr('checked',true);
    

    或者,如果您只是想确保仅在页面首次加载时选中所有复选框,您可以让创建复选框的 php 包含“CHECKED”。即

    <input type='checkbox' name='selectedids[]' value='value' CHECKED>
    

    更新为使用 :checkbox per comment

    【讨论】:

    • 你的意思可能是$(':checkbox'),注意冒号
    【解决方案2】:

    为什么不直接按 id 选择它们? 例如

    var a=0;
    while(document.getElementById('mycheckbox_'+a))document.getElementById('mycheckbox_'+a).checked=true;
    

    【讨论】:

      【解决方案3】:

      如果是我,我会使用复选框的类来识别它们,并带有一点 jQuery。 这会起作用:

      $('input.checkbox').each(function(){$(this).attr('checked',true);   });
      

      它将所有具有“复选框”类的复选框设置为真。


      被打败了!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-12
        • 2022-08-18
        • 1970-01-01
        • 2022-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多