繁体   English   中英

基于select2的jquery填写表单字段

[英]jquery fill form field based on select2

我正在构建一个 B2B 订购应用程序,并尝试根据 select2 选择填写表单字段。 在桌子上,有一个“添加”按钮,可以根据需要添加更多行。 因此,当您选择产品时,(使用 select2 下拉菜单)它应该从数据库中获取定价和与产品相关的折扣。 这适用于第一行/行。
任何后续行都不会从数据库中获取价格和折扣。

编辑:
澄清一点 - 如果您单击“添加”按钮,则会添加多行而不会出错。 价格获取脚本在第一行之后不会获取任何数据。

任何帮助,将不胜感激

添加行代码:

$(".custom-select").select2();
            let row_number = {{ count(old('products', [''])) }};
            $("#add_row").click(function(e) {
                e.preventDefault();
                var options = $("#products_table tbody tr:first").find("[name='StockItem[]']").html();
                var cloned = $("#products_table tbody tr:first").clone().show();

                $(cloned).find("td:first").html('<select name="StockItem[]" class="select2 form-control mb-3 custom-select" style="width: 100%; height:36px;">' + options + '</select>')
                $(cloned).find("input").val("")

                $('#products_table tbody').append('<tr id="product' + (row_number + 1) + '">' + $(cloned).html() + '</tr>');
                $("select").select2();
                row_number++;
            });

获取价格/折扣

$('#product').on('keyup change', function(){
    var product_id = $("#product").val();
    $.post('/orders/getprice/' + product_id,
       function (data) {
          $('#UnitPrice').val(data.SellingPrice);
          $('#Discount').val(data.DiscountPercentage);
    });
})

问题似乎不够清楚,但我认为您正在讨论的是因为var product_id = $("#product").val(); 而你在 html 中生成的id="product' + (row_number + 1) + '"id="product' + (row_number + 1) + '"

$('#products_table tbody').append('<tr class="product_abc" id="product' + (row_number + 1) + '">' + $(cloned).html() + '</tr>');

$('.product_abc').on('keyup change', function(e){
    console.log(e.target); // this will be your button which is clicked.
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM