【问题标题】:How to click a LinkButton with JQuery如何使用 JQuery 单击链接按钮
【发布时间】:2014-03-07 22:02:26
【问题描述】:

我之前的这段代码运行良好,但现在,它在 Chrome 和 IE10 中不再运行了。不知道为什么

Javascript

    function EnterEvent(e, ctrl) {
        var keycode = (e.keyCode ? e.keyCode : e.which);
        if (keycode == 13) {
            $('[id$=btnSave]').click();
        }
        else {
            return false;
        }
    }

HTML

<asp:TextBox ID="txtAdd" runat="server" onkeyup="EnterEvent(event, this)" />

<asp:LinkButton ID="btnSave" runat="server" OnClick="btnSave_Click"></asp:LinkButton>

服务器端

    protected void btnSave_Click(object sender, EventArgs e)
    {
        //Operations
    }

我已经用$('#btnAddItem').click(); 替换了这个$('[id$=btnAddItem]').click();,但什么都没有。服务器端永远不会被触发。

我在 ajaxpanel 中有我的控件,但以前它也像这样工作过。我使用 F12 开发人员工具进行了测试。我到达了点击部分,但什么也没有

有什么想法吗?谢谢!

【问题讨论】:

  • 如果你有它在一个更新面板中,你需要在更新面板更新后重新初始化它......你这样做吗?
  • 您是否有多个元素的 id 以 btnAddItem 结尾?您的选择器匹配“'id' 属性值以字符串 'btnAddItem' 结尾的元素”
  • @Aristos 如何重新初始化?
  • @Pavlo ,这是唯一的元素 $('[id$=btnSave]') 当我用 F12 调试它时,我只能看到一个元素
  • @Pavlo 服务器端的点击不起作用。

标签: c# javascript jquery asp.net onclick


【解决方案1】:

好吧,我找到了解决方案。我唯一需要做的就是从我的代码中替换这一行

$('[id$=btnSave]').click();

为此:

__doPostBack(linkCtrl, '');

函数的签名就这样结束了。

function EnterEvent(e, ctrl, linkCtrl) {

最后我在 OnLoad 和回发中分配了这个事件 == false

txtAdd.Attributes.Add("onkeyup", "EnterEvent(event, this, '" + this.btnSave.UniqueID + "')"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多