所以我發現堆棧上有很多關於如何複製表單行的帖子。得到了那個工作。我還在文本框中發現了許多關於自動完成的文章。jQuery - 表單行重複瓦特/自動完成
我需要兩者一起工作。基本上,我有一個可重複的小組成員部分,需要能夠完成他們的名字。問題是它只能在表格的第一個原始行上工作。
有人可以請我指導一篇文章,討論如何做到這一點?
所以我發現堆棧上有很多關於如何複製表單行的帖子。得到了那個工作。我還在文本框中發現了許多關於自動完成的文章。jQuery - 表單行重複瓦特/自動完成
我需要兩者一起工作。基本上,我有一個可重複的小組成員部分,需要能夠完成他們的名字。問題是它只能在表格的第一個原始行上工作。
有人可以請我指導一篇文章,討論如何做到這一點?
在自動完成的行/字段中使用.delegate。 使用容器ID或「body」錨定(如果您沒有)。
注意:這是用於UI自動完成而不是插件。 我使用一個委託,以便它可以被指定一次 - 不需要將它添加到新行中,例如從.clone()創建的那些行,以便它可以錨定到容器的唯一ID,以及第三個如果需要可以使用鏈接(哪個.live不支持)。我使用鏈式功能來自定義格式化渲染。
示例代碼:
$('#idOfRowsContainer).delegate('.classOfField', 'focusin', function() {
$(this).autocomplete({
delay: 1000,
// rest of my autocomplete
})
});
額外的例子與示例代碼鏈接的定製渲染:
$('#idOfRowsContainer).delegate('.classOfField', 'focusin', function() {
$(this).autocomplete({
delay: 1000,
// rest of my autocomplete
}).data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.Id + " <span class='autoCompCat'>" + item.Category + "</span> <span class='autoCompDesc'>" + item.Description + "</span></a>")
.appendTo(ul);
};
});
我不知道一篇文章,但只要你在新的文本輸入上調用jQueryUI的autocomplete()
它應該工作正常。當你複製行時,你再次打電話給autocomplete()
?
戴夫:我覺得我很困惑,當我重複的ID字段具有相同的名稱。我看到稱爲自動填充的唯一方法是引用字段ID: '$(「#tm」).autocomplete({});' – Zephree
然後給它一個新的ID,或者使用一個類,或引用新行內的文本輸入,或...但是必須使用相同ID的DOM元素(技術上)無效。 –
您可以不給元素一個類名,然後使用$(「.class」).autocomplete({source:tms}); ? – Steve