jquery自动完成动态生成的文本框无法正常工作

 VW旻shi只吃货8453 发布于 2023-01-11 21:39

我不能在动态生成的文本框上做自动完成,我已经搜索了互联网,但找不到任何解决方案.我正在分享到目前为止我所做的事情:

JQUERY:

function bindAutoComplete(classname) {
    $("." + classname).autocomplete({
        source: function (request, response) {
            $.ajax({
                url: '/Admin/Ticket/GetPart',
                type: "GET",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    if (data != null) {
                        if (data.length > 0) {
                            response($.map(data, function (item) {
                                return { label: item.PartNumber, value: item.PartNumber };
                            }))
                        }
                        else {
                            response([{ label: 'No results found.' }]);
                        }
                    }
                }
            })
        },
    });

}

// fetch part number
$(document).ready(function () {
    $("#PartNumber23").autocomplete({
        source: function (request, response) {
            $.ajax({
                url: '/Admin/Ticket/GetPart',
                type: "GET",
                dataType: "json",
                data: { term: request.term },
                success: function (data) {
                    if (data != null) {
                        if (data.length > 0) {
                            response($.map(data, function (item) {
                                return { label: item.PartNumber, value: item.PartNumber };
                            }))
                        }
                        else {
                            response([{ label: 'No results found.' }]);
                        }
                    }
                }
            })
        },
    });

    $('#PartNumber23').keyup(function () {
        var errormsg = "";
        var amount = $('#PartNumber23').val();

        $.ajax({
            type: "GET",
            url: '/Admin/Ticket/GetPart',
            data: { 'term': amount },
            dataType: "json",
            success: function (data) {
                if (data != null) {
                    if (data.length > 0) {
                        $('#Manufacturer').val(data[1].Manufacturer);
                        $('#DateCode').val(data[0].DateCode);
                        $('#Package').val(data[0].PackageCase);
                        $('#buyingprice').val(data[0].Price);
                    }
                    else {
                        $('#Manufacturer').val('');
                        $('#DateCode').val('');
                        $('#Package').val('');
                        $('#buyingprice').val('');
                    }
                }

            },
            error: function (jqXHR, exception) {
                $('#error').html(jqXHR)
            }
        });
    });
})

var key = function () {
    var errormsg = "";
    var amount = $('#buyingprice').val();

    $.ajax({
        type: "POST",
        url: "/Admin/Ticket/ConvertCurrency",
        data: "{amount:" + amount + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            $('#bpusd').val(data);
        },
        error: function (jqXHR, exception) {
            // $('#error').html("Primitive Functions not allowed.")
        }
    });
}

var key2 = function () {
    var errormsg = "";
    var amount = $('#customprice').val();

    $.ajax({
        type: "POST",
        url: "/Admin/Ticket/ConvertCurrency",
        data: "{amount:" + amount + "}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (data) {
            $('#amtusd').val(data);
        },
        error: function (jqXHR, exception) {
            // $('#error').html("Primitive Functions not allowed.")
        }
    });
}

$(document).ready(function () {
    $('#PartNumber23').keyup(key);
    $('#buyingprice').keyup(key);
    $('#customprice').keyup(key2);
    $('#Quantity').keyup(function () {
        var qty = $('#Quantity').val();
        $('#CustomQuantity').val(qty);
    })
})

$("#AddMore").click(function () {

    $("#maintable").each(function () {

        var tds = '';

        jQuery.each($('tr:last td', this), function () {
            tds += '' + $(this).html() + '';
        });
        tds += '';

        if ($('tbody', this).length > 0) {

            $('tbody', this).append(tds);
            $("#delete").fadeIn('200');
        }
        else {
            $(this).append(tds);
        }
    });

    bindAutoComplete('inputs')

});

HTML:

Part No MFG DC PKG QTY. Need QTY. Offer BP BP(USD) AMT (USD) LT Days Desc Note

我已经用类替换了id,但是自动完成仅适用于已经存在的文本框而不是动态文本框

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有