0
  1. 页面加载了一个隐藏的选择框。
  2. 我点击一个按钮
  3. 我将元素附加到此选择框,移动它并使其可见
  4. Chosen我在上面应用插件

这是由这个函数完成的

function moveHiddenSelect(idOffline, type, idMedia, mediaName){
    var $selToReplace  = $("#"+type+"_"+idOffline);
    var $selOriginal   = $("#originalSelect");
    $selToReplace.replaceWith($selOriginal);

    $.getScript('/lib/chosen/chosen.jquery.min.js', function(){
        $selOriginal.chosen(); //load plugin script and apply it on the select box
    });

    $selOriginal.css("width", "220px");
    $selOriginal.css("visibility", "visible");
}

当我单击一次按钮时没问题,但是当我再次单击按钮时(第 2 步)没有任何反应..

4

1 回答 1

2

selected() 应该被调用一次,只是为了创建。更新每个下拉列表的值后,您可以使用: $(DropdoenElement).trigger("liszt:updated");

function moveHiddenSelect(idOffline, type, idMedia, mediaName){
    var $selToReplace  = $("#"+type+"_"+idOffline);
    var $selOriginal   = $("#originalSelect");
    $selToReplace.replaceWith($selOriginal);

    selOriginal.chosen(); // Init the plugin

    $.getScript('/lib/chosen/chosen.jquery.min.js', function(){
       //load plugin script and apply it on the select box
       selOriginal.trigger("liszt:updated")
    });

    $selOriginal.css("width", "220px");
    $selOriginal.css("visibility", "visible");
}

希望能帮助到你!

于 2012-12-18T11:42:20.907 回答