jquery - 如何将选择的插件添加到动态创建/克隆的 CSS div?

标签 jquery css jquery-chosen

The Chosen Plugin for jQuery(可在此处找到:http://harvesthq.github.com/chosen/)添加了额外的功能来选择 HTML 元素。我可以使用以下代码将功能添加到页面上加载的初始元素:

$(document).ready(function(){
$(".chosenProperties").data("placeholder","Select properties...").chosen();
$(".chosenType").data("placeholder","Type...").chosen();
$(".chosenInstance").data("placeholder","Instance...").chosen()

行得通。所有这三类选择元素都出现在名为#newGroup 的 div 中。页面上有一个“添加”新组的按钮,它克隆#newGroup div 并将其添加到第一个 div 的正下方。

它包含相同的元素。但是,当我尝试将 Chosen 功能添加到克隆的 div 中的选择项时,它们被卡住了。该界面看起来与第一个相同,因此正在加载 Chosen,但是当我单击它们时没有任何反应。这是代码:

    $( '#swl-add-group-button' ).click( function() {
    //addGroupToGUI();
    createClassAddRow();

} );


var rowNum = 0;     
function createClassAddRow() {
    rowNum++;
    newRow = jQuery('#newGroup').clone().css('display', '');
    newHTML = newRow.html().replace(/0/g, 1);
    newRow.initializeJSElements();
    newRow.html(newHTML);
    newRow.initializeJSElements();
    jQuery('#mainTable').append(newRow);
    addGroup(newRow);
}

jQuery.fn.initializeJSElements = function (){
    this.find(".chosenProperties").each( function() {
        alert('test');
        if($(".chosenProperties").data("placeholder", "Select properties...").chosen()){
            alert('test2');
        }
    });
    this.find(".chosenType").each( function() {
        jQuery(this).data("placeholder","Type...").chosen();
    });
    this.find(".chosenInstance").each( function(){
        jQuery(this).data("placeholder", "Instance...").chosen();
    })

}

出现两个警报,test 和 test2。所以我认为 jQuery 正在加载,但由于某种原因它无法正常工作。另外,我不确定这是否会有所不同,但是当我将鼠标悬停在克隆的 div 的选择元素上时,它会显示 javascript:void(1) 而当我将鼠标悬停在原始元素上时,它会显示 javascript:void(0)。

最佳答案

我想出的解决方法与 Abhinav 的类似。 我删除了选择生成的代码。 从选择框中删除了“chzn-done”类。 关闭选择框上的显示:无,然后重新选择选择框

$j("#masterCats_chzn").remove();
$j("#masterCats").css({display: "inline-block"}).removeClass("chzn-done").addClass("chsn");
$j(".chsn").chosen();

关于jquery - 如何将选择的插件添加到动态创建/克隆的 CSS div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10523395/

相关文章:

jquery - float 选择不显示带有 Chosen Jquery 插件的选择选项

jquery - 如何在选择的选择中动态选择多个选项

html - 在 IE 中无法选择文本

css - Bootstrap 将响应式文本和按钮放在视频上

javascript - 修改 CSS/JS 以保持扩展

jquery - 在ag-grid中无需按Control键即可选择多行

javascript - ChosenJs 动态更改默认选项

javascript - 将 "Span"Html 元素定位到我单击鼠标的位置

jquery - 如何使用 JQuery 更改模式对话框内 div 的内容

javascript - FullCalendar 始终显示 2 小时事件