Javascript 如何实施“;选择全部”;复选框

Javascript 如何实施“;选择全部”;复选框,javascript,php,html,Javascript,Php,Html,我有发票页面,客户选择发票并付款。发票页面如果发票有多张,则客户需要选中每个复选框,然后单击生成付款发票。我想如果发票是多个客户应该检查所有然后它的工作客户没有选择选择单。他应该选中所有复选框,然后再选择它的工作 我认为页面上的javascript代码如下: <script language="JavaScript"> function checkAll(theForm, cName) { for (i=0,n=theForm.elements.length;i<n;i+

我有发票页面,客户选择发票并付款。发票页面如果发票有多张,则客户需要选中每个复选框,然后单击生成付款发票。我想如果发票是多个客户应该检查所有然后它的工作客户没有选择选择单。他应该选中所有复选框,然后再选择它的工作

我认为页面上的javascript代码如下:

<script language="JavaScript">

function checkAll(theForm, cName) {
  for (i=0,n=theForm.elements.length;i<n;i++)
    if (theForm.elements[i].className.indexOf(cName) !=-1)
      if (theForm.elements[i].checked == true) {
        theForm.elements[i].checked = false;
      } else {
        theForm.elements[i].checked = true;
      }
}
</script>
<input type="checkbox" name="kk" id="kk"  onClick="checkAll(document.getElementById('form4'), 'chk1');" >

函数checkAll(表单,cName){
对于(i=0,n=form.elements.length;i试试这个

$('#kk').on('click', function() {
   if($(this).prop("checked")){
            $('input:checkbox').each(function() {
                $(this).attr("checked", "checked");
                $(this).prop("checked", true);

            });
        }
        else{
            $('input:checkbox').each(function() {
                $(this).removeAttr("checked", "checked");
                $(this).prop("checked", false);
            });
        }
});

可能您不使用jquery?在仅使用html javascript和php的发票页面中,此“答案”只是一段代码。您已使用jquery重写了它(尽管有这样的说法,除非还包含框架或库的标记,否则应使用纯javascript答案)。您没有解释问题中的代码出了什么问题,也没有解释您更改了什么来修复该问题。“JSFIDLE在这里”-为什么要在第三方网站上提供实时演示?Stackoverflow已经支持多年了。您的代码与问题中的代码根本不同。您已经扔掉了将其限制为单一形式的代码,以及将其限制为特定类成员的输入的代码。尝试提供一个。它应该包含足够的HTML来重现问题,不应该包含任何PHP。你应该将其作为堆栈片段来执行,这样我们就可以运行演示。
你为什么要在2017年编写HTML 3.2?你是在问,如果用户选中所有复选框,然后执行一个函数-你的代码在我运行时可以工作。我无法重现问题。代码正在运行,我需要当所有复选框都勾选时,则形成操作。
$('#kk').on('click', function() {
   if($(this).prop("checked")){
            $('input:checkbox').each(function() {
                $(this).attr("checked", "checked");
                $(this).prop("checked", true);

            });
        }
        else{
            $('input:checkbox').each(function() {
                $(this).removeAttr("checked", "checked");
                $(this).prop("checked", false);
            });
        }
});