3

オートコンプリートは静的フィールドでは正しく機能しますが、動的フィールドでは機能しません。

.live()正しく動作させることができなかったため、メソッドを試しました。

これが私のHTMLです:

<table>
    <tr class="selectmatprimas">
        <td>
            <input type="text" class="selectmatprima" />
            <input type="text" name="matprimas[]" />
        </td>
    </tr>
    <tr class="clone" style="display:none;">
        <td>
            <input type="text" class="selectmatprima" />
            <input type="text" name="matprimas[]" />
        </td>
    </tr>
</table>
<input type="button" value="addmore" id="addmore" />

これが私のJSです:

var src = [
    {
        "label": "Mat\u00e9ria Prima 1",
        "value": "1"
    },
    {
        "label": "Mat\u00e9ria Prima 2",
        "value": "2"
    }
];

$("input.selectmatprima").autocomplete({
    source: src,
    select: function (event, ui) {
        event.preventDefault();
        this.value = ui.item.label;
        $(this).next().val(ui.item.value);
    },
    focus: function (event, ui) {
        event.preventDefault();
        this.value = ui.item.label;
        $(this).next().val(ui.item.value);
    }
});

$("input#addmore").click(function(){
    var a = $('tr.clone').html();
    var b = $('tr.selectmatprimas:last');
    b.after("<tr class='selectmatprimas'>"+a+"</tr>");
});

オンラインデモ

ご覧のとおり、[追加]ボタンをクリックすると、新しいフィールドでオートコンプリートが機能しません...

4

1 に答える 1

4

私はあなたのコードで表面をかじっただけですが、これが実際のバージョンです

重要なのは、ここでon()読むことができるjQueryの関数です

于 2012-07-18T18:02:54.543 に答える