jquery - 如何在单击时运行此脚本

标签 jquery onclick forms

很抱歉用这么简单的问题打扰您,但我已经到处查看,但似乎无法找出执行我想做的事情的正确语法。

基本上,我有一个带有大量复选框的表单,并希望允许用户同时选中所有复选框(或取消选中所有复选框)

我发现了这个很棒的脚本

    $(function () {
    $('.checkall').click(function () {
        $(this).parents('fieldset:eq(0)').find(':checkbox').attr('checked', this.checked);
    });
});

但是当我尝试设置输入按钮的 onclick 事件来运行脚本时,什么也没有发生。

<input type="button" class="blkbuttonsmall" value="Toggle All/None" onclick="**what-do-i-use-here-to-run?**">

任何帮助将不胜感激!

编辑

所以我昨晚尝试了两个答案,但没有成功。我不确定我是否仍然做错了什么,或者我这边是否存在通信错误。因此,这是我尝试过但没有成功的不同方法,以及有关如何设置页面的更多信息。

复选框和输入按钮都有自己的类,我用它们来设计它们的外观。在考虑运行此脚本之前,它们是这样编码的。

全选按钮

<input type="button" class="blkbuttonsmall" value="Toggle All/None">

复选框

<input type="checkbox" name="X" id="X" class="formcheck">

所以现在考虑昨晚提供的建议(再次感谢大家的快速回复)我尝试了 将“全选”按钮的类更改为“blkbuttonsmall checkall”和“checkall”。当这不起作用时,我尝试将“checkall”类应用于某些复选框,删除“formcheck”类并添加“checkall”类。依然没有。这让我相信我一定没有正确实现事情,或者第一次没有在我的问题中正确解释。

这是我的代码的一些 HTML 片段,在我尝试建议的任何编辑之前

表单的左侧div:

<div class="formleft">
<br />          
    <form action="">
        <span class="formtext">Check all that apply</span>
<br />
<br />
    <script>
    $(function () {
    $('.checkall').click(function () {
    $(this).parents('fieldset:eq(0)').find(':checkbox').attr('checked', this.checked);
    });
    });
    </script>
        <fieldset>
        <input type="checkbox" name="logincheck" id="logincheck" class="formcheck"> login
        <br />
        <input type="checkbox" name="assignbreakbusylogoutcheck"  id="assignbreakbusylogoutcheck" class="formcheck"> assignment, break, busy, logout
        <br />
        <input type="checkbox" name="acceptprocesscallscheck" id="acceptprocesscallscheck" class="formcheck"> accept/process tasks, calls
        <br />
</div>

... 表单右侧的div

<div class="formright">
<br />
<!-- when button is clicked we need to toggle all checks on or off -->
        <input type="button" class="blkbuttonsmall" value="Toggle All/None">
<br />
        <input type="checkbox" name="userprofilecheck" id="userprofilecheck" class="formcheck"> user profile
<br />
        <input type="checkbox" name="searchcheck" id="searchcheck" class="formcheck"> search
<br />
        <input type="checkbox" name="addcheck" id="addcheck" class="formcheck"> add
<br />
        <input type="checkbox" name="editcheck" id="editcheck" class="formcheck"> edit
        </fieldset>
     </form>
</div>

为了确保我不是搞乱 jquery 声明的庞塞,这里是文件头:

<head>
    <meta charset="utf-8">
    <title>web portal configurations</title>

       <link rel="icon" href="images/favicon.ico" type="image/x-ico">
       <link rel="stylesheet" type="text/css" href="css/style.css">
       <script type="text/javascript" src="js/jquery.js"></script>
       <meta name="viewport" content="width=device-width, initial-scale=.5, maximum-scale=1">
</head>

jquery 文件是 jquery 网站上提供的最新缩小版本,刚刚本地上传到我的服务器。

我在这里错过了什么或做错了什么?我理解之前回复的概念,所以问题一定是我错过的东西或实现。再次感谢您提供的任何帮助!

最佳答案

您不需要在其中放置任何内容,只需将 'checkall' 类添加到您的输入中即可。因此,你应该有这样的东西:

<input type="button" class="blkbuttonsmall checkall" value="Toggle All/None">

原因是 $('.checkall') 中的 jQuery 选择器 '.checkall' 查找具有类 'checkall' 的所有元素,然后将您指定的函数附加到它。

关于jquery - 如何在单击时运行此脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14530988/

相关文章:

javascript - 表单输入中的不同值

Javascript 相当于 iOS 的 'tap' 事件,但适用于 android

javascript - jQuery 提交不起作用?

jquery - 使用 jQuery Tooltip 时如何隐藏 IE 中的 native 工具提示?

jquery - 延迟点击事件

javascript - 使用带有涉及随机生成器的onclick的javascript函数在html中显示span

html - 如何制作通用点击计数器?

javascript - php、mysql 和 ajax : dynamically display default data, 选择现有的,或添加新的

jquery - 如何将条件 CSS 应用于元素并持久化?

html - 从表单提交中排除单选按钮,而不禁用它们