2012-06-04 85 views
1

這個週末我一直在玩http://textextjs.com/,因爲它看起來像一個非常穩固的自動完成插件,其附加功能可能在未來有用(如標記)。我嘗試在一個目前使用我自己的自動完成功能的位置實現這一點,但是對於這個插件,我還沒有找到一個示例/解決方案,對此我有一個關鍵問題。TextExt jQuery插件和隱藏字段值

我使用了下面的數據結構:

[ 
    { 
     "id": "1", 
     "title": "Active", 
     //etc.... 
    }, 
    { 
     "id": "2", 
     "title": "Inactive", 
     //etc.... 
    }, 
    //etc... 
] 

現在我使用AJAX /自動完成,現在插件(雖然我打算標籤插件最終需要此功能)。我有一個自定義的ItemManager,它允許這些數據能夠正常工作,但這是我的問題。我希望能夠設置用戶看到並與object.title進行交互的輸入,但是我希望將與表單一起提交的隱藏輸入設置爲object.id。如何在使用自動完成/標籤插件時獲得此類功能?

我有一個試圖看看onGetDataForm,因爲它看起來好像我需要創建一個插件來實現(雖然對我來說,似乎是矯枉過正必須創建一個插件只是爲了能夠設置隱藏輸入不同於可見的輸入),但即使是這種情況,我也不知道如何訪問自動完成中所選項目的完整數據對象,以便能夠設置兩個字段的不同。任何對此的幫助都會很大。

+0

你解決了嗎?!!我有同樣的問題\ –

回答

1

我不認爲TextExt.js目前支持,但它應該很容易實現。在我解釋之前,請在GitHub中提出問題,以便它最終成爲(如果您還沒有)。

看一看這個功能https://github.com/alexgorbatchev/jquery-textext/blob/master/src/js/textext.plugin.autocomplete.js#L671

p.onGetFormData = function(e, data, keyCode) 
{ 
    var self  = this, 
     val  = self.val(), 
     inputValue = val, 
     formValue = val 
     ; 
    data[100] = self.formDataObject(inputValue, formValue); 
}; 

正如你所看到的,它直接從輸入框返回的值。你可以在這裏做的是檢查你的數據數組(self._suggestions)如果用戶迄今爲止輸入的內容匹配的東西。如果是這種情況,您可以使用匹配項並返回id字段。

這是否回答你的問題?

+1

你能否給我一個例子!!? –