【问题标题】:Trigger button on drop下拉触发按钮
【发布时间】:2013-02-21 17:03:33
【问题描述】:

我有以下脚本

$(function() {
        $(".draggable").draggable({
                revert: true
        });
        $("#droppable").droppable({
                over: function() {
                       $(this).css('backgroundColor', '#cedae3');
                },
                out: function() {
                        $(this).css('backgroundColor', '#CDAF95');
                },
                drop: function(e, ui) {

                      $(ui.draggable).trigger('click');

                }
        });
});

我有多个可拖动对象,每个人都在一个 td 中。在每个可拖动对象中,我都有一个按钮。

如何在放置时触发按钮从放置的可拖动对象?这不起作用:$(ui.draggable).trigger('click'); 有人有什么建议吗?

<td class="draggable" class="ui-widget-content">
                        <form action="index.php" method="post">
                            <?php echo $produs['nume_produs']; ?>
                            <hr />
                            Pret: <?php echo $produs['pret']; ?> lei
                            <br />

                            <input type="hidden" name="nume_produs" value="<?php echo $produs['nume_produs']; ?>" />
                            <input type="hidden" name="produs_id" value="<?php echo $produs['id']; ?>" />
                            <input type="hidden" name="pret" value="<?php echo $produs['pret']; ?>" />
                            <input type="submit" name="adauga" class="adauga" value="Adauga"/>
                        </form>
                    <td>

【问题讨论】:

  • 要在哪个 dom 上触发点击事件...因为您需要指定选择器代替 ui.draggable..

标签: jquery


【解决方案1】:

$(ui.draggable).trigger('click'); 会触发点击您的可拖动。你想触发一个按钮的点击,所以使用

$("#your-button").trigger('click');

如果您有多个可拖动对象,要始终从正确的可拖动对象中获取提交按钮,请使用:

ui.draggable.children('input').attr('type', 'submit')

编辑:

旁边:class="draggable" class="ui-widget-content"

应该是class="draggable ui-widget-content"

【讨论】:

  • $('input[name="adauga"]').trigger('click');我已经试过了......它正在工作,但我想要 div 中的按钮......这只会触发我 div 列表中的第一个按钮
  • 您的 div 中有多个按钮吗?如果没有,就使用.draggable button,否则,为什么要给你的按钮一个id或一个类,并将其用作选择器
  • 或者您可以简单地发布一些 html,我们可以告诉您
  • 这是您不应该隐瞒的重要信息。如何选择 ui.draggable 的子项,请参见:stackoverflow.com/questions/2986532/…
  • 这将完成工作ui.draggable.children('input').attr('type', 'submit')
【解决方案2】:

您不需要在 ui.draggable div 中选择实际的按钮元素吗?所以在这种情况下,请尝试:

$(#adauga).trigger('click');

【讨论】:

  • 是的...我试过这个 $('input[name="adauga"]').trigger('click');但这只会触发我班级中的一个按钮.. 我需要拖动的 div 中的实际按钮
猜你喜欢
  • 2018-02-07
  • 1970-01-01
  • 2016-03-14
  • 2022-01-09
  • 1970-01-01
  • 2016-08-31
  • 2013-01-14
  • 2019-12-29
  • 2023-03-03
相关资源
最近更新 更多