在qtip2

时间:2016-08-17 17:27:43

标签: jquery qtip2

问:

如何在qtip声明中操作form / html的ajax请求(或只是对象)?

细节:

现在,我有一系列javascript数据表(通过django后端填充),其中包含各种信息行。每行都有一个单元格,其中包含一个用于弹出的qtip(qtip2)按钮,其中包含一个简单的表单,其中包含用于备注的textarea和一个提交按钮。这看起来很简单。

但是,我无法弄清楚如何在类中编写/绑定类处理程序。

这些是动态生成的许多技巧(在动态数据表列块中),因此我无法使用硬选择器来访问它们。通过表单操作提交这些请求没有问题,但我真的更喜欢它们是ajax。

$('.note_updater').each(function() {
        $(this).qtip({
            overwrite: false,
            content: {
              text: function(api) {
              return "<form><textarea type='text' name='notes' id='id_notes'>" + 
                      $(this).attr('qtip-content')  + "</textarea><br><input type='submit' value='Update' /></form>";

            },
            title: {
                text: function(api) { return $(this).attr('qtip-title') + ' notes'; },
                button: true
            }
        },
        show: {
            event: 'click',
            solo: true
        },
        hide: 'unfocus',
        events: {
            render: function(event, api) {
            $('form', this).bind('submit', function(event) {
                window.alert('sanity')
            });

            }
        },
    })
});

在此示例中,单击提交时,不会显示“健全”警报。

此外,当我在内容{}块中添加诸如按钮之类的对象时,我无法按类访问这些对象。

qtips工作正常,一切看起来都很实用,但点击按钮时没有响应,或者当我尝试捕获提交时没有响应。

控制台中没有错误。

这应该是如此简单,但它让我疯了!任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我最终找到了解决这个问题的愚蠢简单的解决方案,虽然我放弃了qtips支持或为我自己的问题建立一个更好的基础解决方案。

然而,最简单的事情就是做这样的事情

只需在qtip中包含一个调用onclick函数的锚标记。

<a onclick="doSomething()">Submit</a>

def doSomething(){ <do jquery magic here> }

D'哦!简单。