Mimic Django为admin中的相关字段添加“添加”按钮

时间:2014-09-20 02:31:35

标签: javascript jquery django

当您按下" +"时,Django会为相关字段提供此管理功能。按钮,你可以添加新数据然后通过jQuery附加,我假设。我查看了代码,但我找不到它。

我如何在PHP中模仿这个?

enter image description here

因此,一旦您添加新的'类别',ID就会附加到'类别'在它后面的窗口中的字段。然后你提交表格和wala。这是如何运作的?

1 个答案:

答案 0 :(得分:0)

这是Django Admin的一个很好的功能,即使Symfony的SonataAdminBundle也没有实现(还)。 我浏览了源代码并找到了这个JavaScript函数:

<强> django的/了contrib /管理/静态/管理/ JS /管理/ RelatedObjectLookups.js

function showAddAnotherPopup(triggeringLink) {
    var name = triggeringLink.id.replace(/^add_/, '');
    name = id_to_windowname(name);
    href = triggeringLink.href
    if (href.indexOf('?') == -1) {
        href += '?_popup=1';
    } else {
        href  += '&_popup=1';
    }
    var win = window.open(href, name, 'height=500,width=800,resizable=yes,scrollbars=yes');
    win.focus();
    return false;
}

也许你可以在PHP中使用这个函数并实现自己的逻辑。单击“+”符号时,将按以下方式调用该函数:

<a href="/admin/ 应用 / 模型 /add/" class="add-another" id="add_id_tags" onclick="return showAddAnotherPopup(this);">

函数调用是以老式的方式进行的,不使用jQuery。

对不起,我无法帮助你。