facebook样式jquery tokeninput脚本在jquery-ui模式窗口中保留值

尝试使用facebook风格的tokeninput脚本,我将以与FB使用相同的方式(使用jquery-ui获取模态窗口)向社交网络系统中的朋友发送消息。

单击“打开对话框”按钮(“opener”id会显示模态窗口)

javascript片段:

 $(document).ready(function() { $("input[type=button]").click(function () { alert("Would submit: " + $(this).siblings("input[type=text]").val()); }); });   $(document).ready(function() { $(".show_dialog script").remove(); $dialog = $('.show_dialog'); $dialog.dialog({ width:500, height:300, autoOpen: false, title: 'Basic Dialog' }); $('#opener').click(function() { $dialog.dialog('open'); $(this).siblings("input[type=text]").val('this is a value ')// ADDED BY ME //$("#demo-input-facebook-theme", $dialog).val(''); $(".border_text", $dialog).css("border","1px solid red"); // prevent the default action, eg, following a link return false; }); });  

html代码段是:

  

Facebook Theme



var script = jQuery('').attr('src', 'js/jquery.tokeninput.js').appendTo('head'); $(document).ready(function() { var script = jQuery('').attr('src', 'js/jquery.tokeninput.js').appendTo('head'); var q_string=$("#demo-input-facebook-theme").val(); $("#demo-input-facebook-theme",$dialog).tokenInput("token_find/my3.php?q=q_string", { preventDuplicates: true, theme:"facebook" }); /* */ });

我可以从脚本中获取标记。 但是,如果我点击“开启者”ID后进行一次标记化,则会出现模态窗口,其先前的标记保留在原位,这显然是我不想要的。

如何摆脱它?

看来你正在加载jquery.tokeninput.js文件两次 – 你不应该在$(document).ready(...)中使用它,只要它在jQuery之后。

一旦你显示你的模态(称为$dialog.dialog('open'); )尝试,调用:

$('#demo-input-facebook-theme').tokenInput("clear");

这应该清除所有以前的令牌,然后你可以添加你想要的任何默认令牌。