我正在尝试将 magicsuggest 插件实现到单页应用程序中,每次从选定列表中添加或删除项目时,我都需要将插件添加到 ajax 服务器。
$(ms).on('selectionchange', function(event, combo, selection) {
// save selected item to database
addToDatabase(ms.getValue()[ms.getValue().length-1]);
})
$("span.ms-close-btn").bind("click",function(event) {
var theValue=$(this).parent().text()
deleteFromDatabase(tValue);
})
我有一个具有这两个功能的单页应用程序。当一个项目被添加到选择列表时,我想调用 addItemToDatabase 它将使用 ajax 提交值并将其添加到数据库
当单击关闭按钮 (x) 时,我想让 magicsuggest 执行其默认行为,即从选择中删除项目,并且还调用我的 deleteFromDatabase 函数,该函数将通过 ajax 将项目 ID/值发送到服务器并从数据库中删除项目。
我被困住了。似乎关闭总是首先触发一个 selectionchange 事件。但是,如果我 isSilent 或以某种方式绕过 selectionchange,则默认行为将被取消,并且该项目不会从 dom 中的选定项中删除。
上面的示例代码会正确接受,当单击关闭按钮时,它不仅会删除FromDatabase,还会触发selectionchange并执行addToDatabase。因此,该项目看起来像是被删除了,但在刷新时它就在那里,因为添加和删除函数都已执行。
我希望这足以获得一些帮助。我很难用插件弄清楚事件行为。
任何帮助都会很棒。