将动态值传递给jQuery插件

时间:2018-04-30 16:26:37

标签: javascript jquery jquery-plugins

jQuery插件正在寻找一些值来设置:

$('.toClone_example88888').metalClone({
    position:'after',
    btnClone    : '.btn_toClone_example88888'
});

问题是要克隆的项目的类名,相应的按钮将来自数据库,因此值必须是动态的。

我已经尝试了这个,虽然它不起作用,但它也没有产生任何控制台错误。我错过了什么,或者甚至可以这样做?

我发现了这个问题并且认为它具有相同的核心组件(Sending dynamic variable to jquery),但应用这些相同的概念并不适用于我的实现。

$('.cloneBtn').on('click', function(){
                var getDestinationOfWhereClonedCopyShouldGo = $(this).data("destinationclone");
    $('#' + getDestinationOfWhereClonedCopyShouldGo).metalClone({
        position:'after',
        btnClone    : '.cloneBtn'
    });
});

我也试过这个,但同样的,没有工作,但没有错误信息:

var cloneThis = function(){
    $('.cloneBtn').on('click', function(){
        var getDestinationOfWhereClonedCopyShouldGo = $(this).data("destinationclone");
        putCloneHere(getDestinationOfWhereClonedCopyShouldGo);
    });
}
    var putCloneHere = function(element){
    $('#' + element).metalClone({
        position:'after',
        btnClone    : '.cloneBtn'
    });
}

根据要求提供其他HTML:

<div id="firstOne">
    <input type="text">
    <select id="m">
        <option value="">--Please Select</option>
        <option value="Hello">Hello</option>
    </select>
</div>
<div class="container_body">            
    <input type="button" class="cloneBtn" value="Create New Copy" data-destinationclone="firstOne">
</div>

<div id="secondOne">
    <input type="text">
    <select id="m">
        <option value="">--Please Select</option>
        <option value="Hello">Hello</option>
    </select>
</div>
<div class="container_body">            
    <input type="button" class="cloneBtn" value="Create New Copy" data-destinationclone="secondOne">
</div>

这是jsfiddle(包含插件代码)。

0 个答案:

没有答案