【问题标题】:How can I trigger a button click using jquery on a dynamic button that ajax is being used on?如何在使用 ajax 的动态按钮上使用 jquery 触发按钮单击?
【发布时间】:2013-10-10 18:41:31
【问题描述】:

好的,我在 Twitter Bootstrap 手风琴中有一个表单,它具有可切换到不同类型表单的径向按钮。它们都使用相同的按钮,该按钮会为每个表单动态变化,因此它知道要调用的正确操作。

我在手风琴标题上有一个按钮,我想触发点击他们选择的任何径向形式。

看起来像这样:

手风琴标题操作按钮

径向选项 1(未选择)

径向选项 2(已选择)

输入框

输入框

OriginalButton(已经可以使用。我想将此功能复制到标题上的上述按钮)


选择其他径向按钮

手风琴标题操作按钮

径向选项 1(已选择)

输入框

输入框

输入框

输入框

OriginalButton(与上面相同的按钮,但根据不同的输入执行不同的功能。我现在需要actionButton来执行此按钮的功能)

径向选项 2(未选择)


因为 html 引用了不同的文件,所以我试图像这样触发按钮点击:

$side-bar.find('#actionButton').on('click', function(){
        $side-bar.find('#accordionHeader').find('form').find('button').trigger('click');
    });

但这不起作用,我可以使用这样的东西吗?只是使用

$side-bar.find('#actionButton).on('click', function(){
        $side-bar.find('#originalButton').click();
    });

不起作用。

非常感谢您的帮助!

【问题讨论】:

    标签: javascript jquery ajax twitter-bootstrap button


    【解决方案1】:

    我已经对我认为你想要做的事情做了一些修改。

    在单选按钮点击事件上使用jquery的触发方法可以让你调用另一个元素的事件触发器。

    $('input[type=radio]').on('click', function() {
        $('#test_btn').trigger( "click" );
    });
    

    http://jsfiddle.net/Villike/P3V4M/

    【讨论】:

    • 这不是我所需要的。我已经更新了我的问题,试图让它更清楚。我需要操作按钮以选择任何径向形式执行按钮的功能。
    【解决方案2】:

    尝试将#originalButton 对象保存到一个变量中,然后使用它而不是find 再次使用它。也许您在某个时候将其从“侧边栏”中删除,导致找不到它?

    【讨论】:

    • 我已经在html中给它分配了一个ID,这还不够引用它吗?
    • 这取决于范围。 find 只会查看被调用元素的后代。如果要搜索整个 DOM,请直接使用$$("#originalButton")
    • 嗯。感谢您的快速回答,但此解决方案似乎不起作用。
    • 您是否收到未定义的对象异常或什么也没发生?
    • 看看你的编辑,你有两个#originalButton吗?如果是这样,请确保你得到正确的。尝试在开发控制台中运行$("#originalButton"),看看你得到了什么对象以及它们的点击处理程序是什么。也许您错误地将两个点击事件添加到一个按钮
    【解决方案3】:

    我想太多了。显然,我所需要的只是

    $side-bar.find('#actionButton').on('click', function(){
        $side-bar.find('#originalButtonInReferencedHTMLFile').click();
    });
    

    我想因为它被 side-bar.html 文件引用,我需要 .find().find() 来遍历所有引用。

    事实证明,如果它完全被侧边栏调用,那么侧边栏可以自己找到它,而无需额外的 .find() 或其他任何东西!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 2019-05-31
      相关资源
      最近更新 更多