无法将值绑定到动态文本框

时间:2014-06-05 07:19:17

标签: jquery ajax json

我无法将值绑定到动态文本框,如果我更改任何文本框值,它将更改所有值,请帮助,因为我从3天开始就被困在这里。我分享了我所做的事情

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.' }]);
                        }
                    }
                }
            })
        },
    });

}

function bindData(element) {
    var errormsg = "";
    var amount = element.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)
        }
    });
};

// fetch part number
$(document).ready(function () {
    bindAutoComplete('inputs');
    $("#maintable").on('keyup', '.inputs', function () {
        bindData($(this));
    });

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

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

        var tds = '<tr>';

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

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

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

});

HTML:

<table id="maintable">
    <thead>
        <tr>
            <th>
                Part No
            </th>
            <th>
                BP
            </th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <input class="inputs" type="text" name="abcd" id="PartNumber23" style="width:130px;" />
            </td>
            <td>
                <input class="buyingprice text-box single-line" id="BuyingPrice" name="BuyingPrice" type="text" value="" />
            </td>
        </tr>
    </tbody>
</table>

如果我更改了一个BP文本框值,它会更改所有BP动态文本框值,但我希望每次在BP文本框上基于自动完成结果绑定不同的值。 请指导我

0 个答案:

没有答案