jQuery选择不适用于克隆行

时间:2014-11-18 13:18:29

标签: javascript jquery jquery-chosen

这是我的HTML:

<table>
        <tr>
            <th>Names</th>
            <th>Product Names</th>
        </tr>
        <tr class="data-wrapper">
            <td>
                <select class="form-control required chosen-select-width name" name="source_language[][0]" aria-required="true">
                    <option value="name1">Name 1</option>
                    <option value="name2">Name 2</option>
                    <option value="name3">Name 3</option>
                    <option value="name4">Name 4</option>
                    <option value="name5">Name 5</option>
                </select>
            </td>
            <td><input type="text" name="product-names"></td>
        </tr>
    </table>
    <button type="button" class="btn add-new-data"> Add </button>

这里我使用jQuery chosen plugin作为下拉列表。我正在克隆这一行。但是,克隆后所选的选择不起作用。这是my code on jsFiddle

如何为克隆元素选择工作?

1 个答案:

答案 0 :(得分:13)

您应首先克隆并稍后应用chosen,以便克隆元素“免费选择”。

jQuery(function($){ 
    var clone = $("table tr.data-wrapper:first").clone(true);
    $('select.name').chosen({width: "100%"});
    $('body').on('click', '.add-new-data', function() {
        var ParentRow = $("table tr.data-wrapper").last();
        clone.clone(true).insertAfter(ParentRow);
        $('tr.data-wrapper:last select').chosen();
    });
});

DEMO