在 django 管理员添加页面中,使用TabularInline
它时有一个锚点Add another Poll
,它的 html 看起来像
<a href="javascript:void(0)">Add another Poll</a>
现在我想添加一个新行,就像在触发文件输入更改事件时使用鼠标单击锚一样:
$('input:file').change(function(e){
//... do something ...
var rows = "#poll_set-group .tabular.inline-related tbody tr";
var addbtn = $(rows).parent().find("tr:last a")
addbtn.click(); // try to add a new row but doesn't work
});
元素选择是正确的,但 click() 不起作用。我也试过addbtn.trigger('click')
,虽然它几乎做同样的事情,但仍然不起作用。
当我追踪到 Django 的 inline.js 可以看到绑定的函数
内联.js
(function($) {
$.fn.formset = function(opts) {
///...
if ($(this).length && showAddButton) {
var addButton;
if ($(this).attr("tagName") == "TR") {
//...
addButton = $(this).parent().find("tr:last a");
} else {
//...
addButton = $(this).filter(":last").next().find("a");
}
addButton.click(function() {
//...
});
}
}
})(django.jQuery);
谁能告诉我为什么.click()
不起作用?或任何其他建议做同样的事情?