【发布时间】:2021-10-09 11:16:49
【问题描述】:
我有这样的脚本,而且这个脚本只使用第一种形式,其他的被冻结并且根本不起作用。
$(document).ready(function() {
$('#id_membership-0-company').select2();
});
我无法将 # 更改为 .因为每个新表单都有新的 id,比如id_membership-0-company、id_membership-1-company 等等,而且我所有的表单都有相同的类(这个字段没有单独的类)
我无法在此函数中添加所有 id,因为它仅在页面加载时有效,因此只有 id 0 会以这种方式工作
我试图做这样的事情:在“添加表单”按钮 html 标记中添加onclick="addRow()",并在脚本中添加此代码。如果没有 Timeout 功能,它不起作用,因为脚本执行速度太快。
它适用于两个表单(如果我按“添加表单”按钮),但如果我添加更多 id 则不起作用(在这种情况下,在第二个表单之后为此字段创建了更多不正确的表单)
function addRow() {
function activateForms(){
$('#id_membership-0-company').select2();
$('#id_membership-1-company').select2();
}
setTimeout(activateForms, 1000);
}
如何解决这个问题?每个表单的第一个字段都需要 select2 小部件吗?
【问题讨论】:
-
你可以使用简单的
$('select').select2(); -
@SimoneRossaini,我试过了,只有第一个表单适用于此代码
-
您能告诉我们单击“添加表单”时会发生什么吗? (这会触发 ajax 调用等)所以我可以最好地格式化你的答案
-
如果我这样做:
$(document).ready(function() { $('select').select2(); });只有第一种形式可以工作,其他形式只是冻结,我无法选择某些内容。如果我在添加按钮添加表单后创建超时或触发功能,它的行为会很奇怪并创建许多多余的表单,有些正在工作,有些被冻结
标签: javascript python html django jquery-select2