javascript - 自动完成动态生成的 div

标签 javascript jquery html css autocomplete

我在动态生成的 div 上遇到自动完成问题

文件 1 - 单击按钮生成带有输入字段的 div 的 Javascript 文件

var inputHTML = '<div id="addProducts" class="col-md-2 form-group"><input type="text" class="form-control" placeholder="Identyfikator opony" name="tyreID[]" id="tyreID"><input type="text" class="tyreSize form-control" placeholder="Rozmiar" name="tyreSize[]" id="tyreSize" required><input type="text" class="tyreManufacturer form-control" placeholder="Producent" name="tyreManufacturer[]" id="tyreManufacturer" required><input type="text" class="tyreTread form-control" placeholder="Bieżnik" name="tyreTread[]" id="tyreTread" required><input type="text" class="form-control" placeholder="DOT" name="tyreDOT[]" id="tyreDOT"><input type="number" step="0.01" min="0" class="form-control price" placeholder="Cena za sztukę" name="tyrePricePiece[]" id="tyrePricePiece" required><button href="#" class="btn btn-danger btn-block remove_field"><span class="glyphicon glyphicon-remove"></span> Usuń</button><button type="button" class="btn btn-warning btn-block" id="clone"><span class="glyphicon glyphicon-duplicate"></span> Kopiuj</button></div>';
var inputHTML2 = '<div id="addProducts2" class="col-md-2 form-group"><input type="text" class="form-control" placeholder="Identyfikator felg" name="alloyID[]" id="alloyID"><input type="text" class="alloySize form-control" placeholder="Rozmiar" name="alloySize[]" id="alloySize" required><input type="text" class="alloyManufacturer form-control" placeholder="Producent" name="alloyManufacturer[]" id="alloyManufacturer" required><input type="text" class="alloyPCD form-control" placeholder="Rozstaw" name="alloyPCD[]" id="alloyPCD" required><input type="text" class="form-control" placeholder="Otwór centrujący" name="alloyHub[]" id="alloyHub"><input type="number" step="0.01" min="0" class="form-control price" placeholder="Cena za komplet" name="alloyPricePiece[]" id="alloyPricePiece" required><button href="#" class="btn btn-danger btn-block remove_field"><i class="fa fa-times"></i> Usuń</button><button type="button" class="btn btn-warning btn-block" id="clone"><span class="glyphicon glyphicon-duplicate"></span> Kopiuj</button></div>';

var addInput = function() {
    $(inputHTML).appendTo('div#products');
};

var addInput2 = function() {
    $(inputHTML2).appendTo('div#products');
};

var cloneInput = function() {
    $(this).appendTo('div#products');
}

$('button#btnAddProduct').click(addInput);
$('button#btnAddProduct2').click(addInput2);


$(document).on('click', '.remove_field', function(e) { //Once remove button is clicked
    e.preventDefault();
    $(this).parent('div').remove(0);
    sumPrice();
});

$(cloneInput).on('click', '#clone', function(e) {
    e.preventDefault();
    $(this).parent('#addProducts').each(function() {
        $(this).clone().appendTo('div#products').val($(this).val());
    });
    sumPrice();
});

$(cloneInput).on('click', '#clone', function(e) {
    e.preventDefault();
    $(this).parent('#addProducts2').each(function() {
        $(this).clone().appendTo('div#products').val($(this).val());
    });
    sumPrice();
});

文件 2 - 使自动完成工作的 Javascript 文件

var ac_config2 = {
source: "../../libs/orders/autocomplete_products.php",
select: function(event, ui){
    $("#tyreID").val(ui.item.id_product);
    $("#tyreSize").val(ui.item.Szerokosc+"/"+ui.item.Profil+"R"+ui.item.Srednica);
    $("#tyreManufacturer").val(ui.item.Producent);
    $("#tyreTread").val(ui.item.Model);
    $("#tyreDOT").val(ui.item.DOT);
    //$("#tyrePricePiece").val(ui.item.client_name);
    },
minLength: 1
};
$("#tyreID").autocomplete(ac_config2);

如果我将 productbox 添加到 html 文件,自动完成效果很好,但在动态生成的 div 中它根本不起作用。

我如何在每个 div 添加时重新加载这个自动完成文件?或者还有其他方法吗?

最佳答案

还有一件事有问题。如果我将它设置为 #div id,它总是将值复制到第一个 div,如果设置为 .div 类,它将值复制到所有 div。

@贾斯塔斯?

关于javascript - 自动完成动态生成的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33527876/

相关文章:

javascript - 防止双击添加到购物车按钮

javascript - 以正确的方式使用javascript将动态表单添加到django formset

JQuery 自动完成悬停突出显示宽度

jquery - Dragover - 有拖出吗?

jquery - 使用 jQuery 重新排序 SELECT 列表中的选项

html - 设置一个始终与父表具有相同行数的子表?

javascript - 使用 RichFaces 4 从 JavaScript 获取 DOM 元素

javascript - 扩展表单的高度以适合表单中的内容

asp.net - jQUERY - Accordion 事件状态 asp.net 代码背后

html - 如何并排放置 anchor 标签?