使用 JQuery 调用多个按钮点击,这甚至可能吗?

Call multiple button clicks using JQuery, is that even possible?

提问人:Learner of Coding 提问时间:7/15/2022 更新时间:7/16/2022 访问量:61

问:

这是我在 StackOverFlow 上的第一个问题...... 希望这不是傻...... 提前感谢您的帮助!!

我想使用 JQuery 单击一个按钮即可单击多个按钮 例: Button-1 调用 -> Button-2 和 Button-3

用户应单击 Button-1,并应单击 Button-2 和 Button-3。 它还应该触发其相关的服务器端单击事件。

以下是我尝试过的方法,但它只触发 btnOne Server 事件单击,而不触发其他两个。

默认 .aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs"     Inherits="PostBackApp.apppages.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="https://code.jquery.com/jquery-3.6.0.slim.min.js"            integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI="
        crossorigin="anonymous"></script>
    <title></title>
    <script type="text/javascript">
        $(function () {
            $('#btnOne').click(function myfunction() {
                one();
                $('#btnTwo').click();
                $('#btnThree').click();
            });
            $('#btnTwo').click(function myfunction() {
                two();
            });
            $('#btnThree').click(function myfunction() {
                three();
            });
        });
        function one() {
            alert('Client Side One was called');
        }
        function two() {
            alert('Client Side Two was called');
        }
        function three() {
            alert('Client Side Three was called');
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="btnOne" Text="1" runat="server" OnClick="btnOne_Click">        </asp:Button>
        <asp:Button ID="btnTwo" Text="2" runat="server" OnClick="btnTwo_Click"></asp:Button>
            <input type="button" name="btnThree" id="btnThree" value="3" />

            </div>
        </form>
    </body>
</html>

默认值.aspx.cs

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

namespace PostBackApp.apppages

{
    
    public partial class Default : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            bool isPostbck = this.IsPostBack;

        }

        protected void btnOne_Click(object sender, EventArgs e)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "Key1", "alert('Server Side One was called');", true);
        }

        protected void btnTwo_Click(object sender, EventArgs e)
        {
            ClientScript.RegisterStartupScript(this.GetType(), "Key2", "alert('Server Side Two was called');", true);
        }
    }
}
JavaScript C# HTML jQuery 回调

评论

0赞 Twisty 7/16/2022
欢迎使用 Stack Overflow。您可以考虑使用 versus just .除此之外,我认为不需要在您的 HTML 中设置属性,当您分配回调时,jQuery 已经完成了这。$('#btnTwo').trigger("click").click()onClickclick
0赞 Learner of Coding 7/18/2022
谢谢你的回答,我试过这个,没有用!

答:

0赞 David Rodrigues 7/16/2022 #1

您可以在 中替换 to 以访问您的 JS 函数。onClick="yourFunctionOnClientClick="yourFunction"<asp:Button>

如果同时保留 OnClick 和 OnClientClick,则可以同时触发服务器端 c# 函数和客户端 JS/JQuery 函数。

这个参考资料帮助我回答了这个问题。我希望这就是你要找的!:)

评论

0赞 Learner of Coding 7/18/2022
如果我单独单击该按钮,它可以工作,但只有最后一次单击是从代码中的一系列单击中触发的。