Javascript 重置jQuery UI Multiselect
我正在使用jQuery UI Multiselect(Michael Aufreiter(quasipartikel.at,Yanick Rochon)。我想用新数据重置我的Multiselect。我使用了Javascript 重置jQuery UI Multiselect,javascript,jquery,user-interface,jquery-multiselect,Javascript,Jquery,User Interface,Jquery Multiselect,我正在使用jQuery UI Multiselect(Michael Aufreiter(quasipartikel.at,Yanick Rochon)。我想用新数据重置我的Multiselect。我使用了 var myselect = $("#myselect"); var firstTime = true; if (firstTime) { myselect.val(data.myselect.split(',')); myselect.multiselect();
var myselect = $("#myselect");
var firstTime = true;
if (firstTime) {
myselect.val(data.myselect.split(','));
myselect.multiselect();
firstTime = false;
} else {
myselect.multiselect("destroy");
myselect.val(selectedValuesAsString.split(','));
alert(selectedValuesAsString.split(','));
myselect.multiselect();
}
alert(myselect.val());
第一次正确加载。但第二次(在else条件下)myselect.val()
变为selectedValuesString.split(',')
值的两倍
例如:如果选择了ValuesString.split(',')。val()显示A,B
val()显示A,B,A,B
第三次出现三次(A,B,A,B,A,B)。因此它在UI中也出现了多次。我不知道为什么会出现这种情况。非常感谢您的帮助
谢谢!为什么我觉得你的代码被破坏了
{.val(data.myselect.split(',');
@Popeye是对的。你在第一次调用.val()之前丢失了变量。但是,如果“destroy”如果函数正确,那么代码应该可以工作。如果无法执行重置调用,则可以使用$.replaceWith()和新的select元素完全替换select元素。