当前位置: 首页 > 知识库问答 >
问题:

动态调用类名的JavaScript函数

喻子航
2023-03-14

我的目标是,当用户单击复选框时,它将统计有多少个带有相同类名的选中输入。 我试图将vare发送到counting函数中,但我不确定语法是否正确。 当我用一个类名替换这里的e:var n=$('.e:checked').length;时,它是正常的。 但我需要它是动态的。

编辑以下问题:如何在PHP中从控制台日志获取值到var?

查看

<br>
<label>
    <input onclick="b(this.className)" 
           class="tuesdayMorBar" 
           type="checkbox"
           name="worker_name[]" 
           value="<?php echo $shift['fullname'];?>" />

JavaScript

js prettyprint-override">function b(e) {
    var countChecked = function() {
        var n = $('.e:checked').length;
        alert(n + (n === 1 ? " is" : " are") + " checked!");
    };
    countChecked();

    $("input[type=checkbox]").on("click", countChecked);
}

共有3个答案

吴俊晤
2023-03-14

我已经为你的问题“维多利亚的秘密”做了一个工作片段。 注释在代码段本身中提到。 看看这能不能解决你的问题。

null

function b(e) {

  let totalChecked = 0; // initialize the variable with 0;

  $("input[type=checkbox]." + e).each(function() { // check every checkbox with class e(e has className)
    //console.log($(this));
    if ($(this).is(":checked")) { // check if checkboxed is checked
      totalChecked++; // increment every time
    }
  });
  alert(`class ${e}: ${totalChecked}`);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<br><label><input onchange="b(this.className)" class="kaka" type="checkbox"
 name="worker_name[]" value="kaka1" />kaka1
 <input onchange="b(this.className)" class="kaka" type="checkbox"
 name="worker_name[]" value="kaka2" />kaka2
 <input onchange="b(this.className)" class="kaka" type="checkbox"
 name="worker_name[]" value="kaka3" />kaka3
 <br><br>
 <input onchange="b(this.className)" class="lala" type="checkbox"
 name="worker_name[]" value="lala1" />lala1
 <input onchange="b(this.className)" class="lala" type="checkbox"
 name="worker_name[]" value="lala2" />lala2
 <br><br>
 <input onchange="b(this.className)" class="jaja" type="checkbox"
 name="worker_name[]" value="jaja1" />jaja1
 <input onchange="b(this.className)" class="jaja" type="checkbox"
 name="worker_name[]" value="jaja2" />jaja2
鲁明知
2023-03-14

您可以使用QuerySelectorAll查询具有特定类和属性的选择器。

请尝试以下操作:

function b() {
  var checkedInputs = document.querySelectorAll("input.your-class-name[type='checkbox']:checked");
  alert((checkedInputs.length === 1 ? "is" : "are") + " checked!");
}
况明贤
2023-03-14

删除onclick=“b(this.classname)”。 在全局级别定义CountChecked。 使用$(“input[type=checkbox]”)。on(“click”,countChecked);设置click事件。 然后可以在CountChecked中使用this.classname。 会很好用的。 查看

<br>
<label>
    <input class="tuesdayMorBar" 
           type="checkbox"
           name="worker_name[]" 
           value="<?php echo $shift['fullname'];?>" />

JavaScript

var countChecked = function() {
    var n = $('.' + this.className + ':checked').length;
    alert(n + (n === 1 ? " is" : " are") + " checked!");
};

$("input[type=checkbox]").on("click", countChecked);
 类似资料:
  • 问题内容: 我有这个: 我想要这个: 问题答案: 更新 正如其他人提到的那样,这不是最快也不推荐的解决方案。 您可以使用eval:

  • 问题内容: 是否可以在SQL中使用动态名称调用函数? 例如: 这将为表List_of_Functions中的每一行调用一个不同的函数。 还是我要解决所有这些错误? 问题答案: 您将需要构建(输入它,或者根据您的表动态地构建它)一条SQL语句,例如: 与其构建所有这些功能,不如构建一个功能并传递一个该功能可用于区分处理的值,这会更好吗?喜欢:

  • 问题内容: 我有一个字符串数组,其中包含类中方法的名称 在课堂上,我正在创建一个实例(例如)。现在,我可以调用,只是我想循环读取String数组。这可能吗? 问题答案: 您可以使用反射。通过调用完成 您必须处理大量异常,并且您的方法必须为。需要注意的是Java编码惯例喜欢到。 但是,使用反射应该是最后的选择。您应该使用更多的面向对象技术。 如果您经常需要类似的功能,也许您可​​以看看在Java平台

  • 调用回调函数,并把一个数组参数作为回调函数的参数。 local args = {...} or {} method_name(unpack(args, 1, table.maxn(args))) 使用场景 如果你的实参 table 中确定没有 nil 空洞,则可以简化为 method_name(unpack(args)) 你要调用的函数参数是未知的; 函数的实际参数的类型和数目也都是未知的。 伪代

  • 问题内容: 我正在寻找一个窍门。我知道如何在JavaScript中调用动态的任意函数,并传递特定的参数,如下所示: 我知道如何使用内部的集合传递可选的,无限制的参数,但是,我不知道如何发送任意数量的参数以动态发送给它;我该如何完成这样的工作,但是要有任意数量的可选参数(不要使用丑陋的– )? 问题答案: 使用函数的apply方法:- 编辑 :在我看来,这将是一个稍微的调整会更有用: 这将在浏览器之

  • 问题内容: 我有一个JavaScript变量,其中包含JavaScript函数的名称。通过使用$ .ajax等加载并放置在页面上,此功能存在于页面上。 谁能告诉我如何调用变量中命名的javascript函数? 该函数的名称位于变量中,因为用于加载页面片段(将其插入到当前页面中)的URL包含要调用的函数的名称。 我愿意就如何实施此解决方案提出其他建议。 问题答案: 我会避免评估。 要解决此问题,您应

  • 本文向大家介绍JavaScript中匿名函数的递归调用,包括了JavaScript中匿名函数的递归调用的使用技巧和注意事项,需要的朋友参考一下 不管是什么编程语言,相信稍微写过几行代码的同学,对递归都不会陌生。 以一个简单的阶乘计算为例: 我们可以看出,递归就是在函数内部调用对自身的调用。 那么问题来了,我们知道在Javascript中,有一类函数叫做匿名函数,没有名称,怎么调用呢?当然你可以说,

  • 问题内容: 我有以下代码: 我怎么能叫和动态? 例如: 我使用了大括号,因为这是我以前在PHP中使用的方式,但是显然不起作用。 如何使用Python做到这一点? 问题答案: 如果不想使用并且不想创建单独的模块和/或类来封装要动态调用的函数,则可以将它们作为当前模块的属性来调用: