Javascript 根据复选框启用/禁用按钮
从今天早上开始,我尝试使用jQuery创建一个代码,当我单击复选框时,它允许启用/禁用提交按钮。我试图在一个函数中编写所有这些代码,该函数将在everyclick上调用 问题是,它在JSFIDLE上运行良好,但在我的计算机上,一旦该按钮被启用,我就无法通过取消选中所有复选框使其再次被禁用 你有什么办法解决这个问题吗 谢谢你的建议 这是我的代码:Javascript 根据复选框启用/禁用按钮,javascript,jquery,Javascript,Jquery,从今天早上开始,我尝试使用jQuery创建一个代码,当我单击复选框时,它允许启用/禁用提交按钮。我试图在一个函数中编写所有这些代码,该函数将在everyclick上调用 问题是,它在JSFIDLE上运行良好,但在我的计算机上,一旦该按钮被启用,我就无法通过取消选中所有复选框使其再次被禁用 你有什么办法解决这个问题吗 谢谢你的建议 这是我的代码: 函数activeBouton(){ var countChecked=函数(){ var n=$(“输入:已选中”).length; 如果(n==0)
函数activeBouton(){
var countChecked=函数(){
var n=$(“输入:已选中”).length;
如果(n==0)jQuery('button').prop('disabled',true);
else jQuery('button').prop('disabled',false);
};
countChecked();
$(“输入[类型=复选框]”)。单击(“单击”,计数已选中);
};代码>
联合国项目
第二项
第三项
添加
当我试图运行你的小提琴时,我得到以下错误
未捕获引用错误:未定义activeBouton
当您已经使用jQuery将单击事件绑定到各个复选框时,不确定为什么要尝试使用onclick
属性将单击事件绑定到div
试着这样做:
$(document).ready(function() {
var countChecked = function() {
var n = $("input:checked").length;
if (n == 0) jQuery('button').prop('disabled', true);
else jQuery('button').prop('disabled', false);
};
$("input[type=checkbox]").on("click", countChecked);
});
并在周围的
中去掉onclick
属性
更新。您共享的代码片段有点混乱activeBouton
函数附加了click
处理程序的div
,该处理程序正在调用countChecked()
&如果复选框中有任何更改,也会调用该函数
它可以简化。
除此之外,装载类型
与JSFIDLE中的装载
、onDOMReady
、主体
和头部
之间存在重大差异。所以,当您在浏览器中运行代码时,若可以显示代码的放置位置,那个么这将非常有用
希望这段代码有用
function countChecked() {
if ($('input[name="nom"]:checked').length > 0 && $("#activeBtn").is(':disabled')) {
$("#activeBtn").removeAttr('disabled')
} else if ($('input[name="nom"]:checked').length == 0) {
$("#activeBtn").attr('disabled', true)
}
};
$('input[name="nom"]').on("change", function(event) {
countChecked(); // Call countChecked event on change in checkbox
});
检查此项此处提供的示例是否未按预期工作?您的代码似乎适用于Me您的机器上的哪个浏览器不工作?这就是你在你的机器上使用的代码吗?如果它在小提琴上工作,而不是在你的机器上,那么它可能是另一段代码faulty@Lee.Winter,是的,它在这里工作,但在我的计算机上它不工作,我不知道问题出在哪里。谢谢你的回复,我不想使用(文档).准备好了吗?因为实际文件包含10000多行代码和许多函数,这就是为什么我想调用包含此方法的函数来运行这些指令。它是有效的,我开始尝试此方法,但我的实际代码包含10000多行代码和许多函数,这就是为什么我尝试使用函数启用/禁用bouton(这意味着您在函数中编写的代码,我可以在每次单击后调用它)它可以在JSFIDLE上运行,但不能在我的计算机上运行,因为正如我所说的,我试图将所有这些代码放在一个函数中,并在单击时调用它,但它根本不起作用。你知道如何像我在第一个代码中所做的那样,将代码放在函数中并在下一个函数中调用吗?不,在js文件中包含其他函数。好的,你在html或jsp中看到body标记了吗?它是一个jsp项目,我看不到任何导入js文件的body标记。这是一个古老而复杂的项目,这就是为什么我尝试在全局js文件中插入代码的原因