3

次のjson配列があります。

partTags = [{"part":"Part1","dwg":"A"},{"part":"Part2","dwg":"B"}]

基本的に部品番号と対応する図面番号/文字を運ぶ

2 番目のパラメーター (「図面番号」) を追加する前に、部品番号を取得し、jQuery オートコンプリートを使用して配列を検索しました。ここでやりたいことは、最初の入力で部品番号を検索し、部品番号 をクリックする<input type="text" id="part_number">と、対応する図面番号を 2 番目の入力に自動的に追加すること です。<input type="text" id="drawing_number">

これが私が持っていたものです:

$( "#part_number" ).autocomplete({
   delay: 100,
   source: partTags
}); 

これを実現するために上記のコードを変更するにはどうすればよいですか? 私は jQuery をあまり扱っていないので、いくつかの API に関してはかなり迷っています。

少しいじった後、これまでのところ私が持っているものは次のとおりです...

$( "#part_number" ).autocomplete({
     delay: 45,
    source: partTags,
    select: function(event, ui)
    {
        $(this).val(ui.item.part);
        $("input#drawing_number").val(ui.item.dwg); 
        return false;
    }
});
4

2 に答える 2

1

オートコンプリートにローカル文字列を使用したことはありませんが、次のように機能しました。

    $("#part_number").autocomplete({
minLength: 0,
source: function (request, response) {
    $.post("/echo/json/", {
        json: '[{"part":"Part1","dwg":"A"},{"part":"Part2","dwg":"B"}]',
        delay: 1
    }, function (data) {
        response($.map(data, function (pn) {
            return {
                value: pn.dwg,
                label: pn.part
            };
        }));
    });
},
select: function (event, ui) {
    $('#part_number').val(ui.item.label);
    $("input#drawing_number").val(ui.item.value);
    return false;
}
});

これが実際のデモです

于 2013-05-03T19:44:43.657 に答える