2011-02-01 40 views
1

我有一系列的使用jQuery自動完成,幫助用戶選擇合適的項目文本輸入框的文本輸入框開始搜索。該項目必須匹配,否則該字段必須留空。這部分工作正常。現在jQuery的自動完成 - 如何當用戶點擊與可變文本

,這需要在球場上的用戶點擊,然後開始做selction之前輸入的文本相匹配。通常(但並非總是),腳本已知頭幾個匹配字符(但它們會隨着字段而變化)。如果這些字符是已知的,我想幫助用戶,讓他們點擊輸入字段,然後搜索出來,並開始使用這些少數字符搜索。這些字符可能是錯誤的,如果是這樣,用戶可以刪除它們並輸入自己的輸入來選擇匹配。

我想我要的是基本上只是有當他們點擊輸入他們鍵入的用戶。然後神奇地觸發自動搜查,並從那裏拿走它。但是,這樣做的最好方法是什麼?

我:

$("#input_thing").autocomplete('query.php', { 
    width: 300, 
    multiple: false, 
    matchContains: false, 
    formatItem: formatItem, 
    formatResult: formatResult, 
    mustMatch: true, 
    cacheLength: 1, 
    extraParams: { 
     "category": function() { 
      return $("#category option:selected").val() 
     }, 
     "order": "1" 
    } 
}); // edit note: added missing `});` 

$("#input_thing").focus(function() { 
    if ($("#search_starting_text").text().length > 0 && $("#input_thing").text() == 0) { 
     //This meets my conditions for helping the user but not sure what to do here!!! 
    } 
}); // edit note: added missing `);` 

我不希望有它在,如果這不是這樣做的正確方法類型的東西。另外,無論如何我都無法讓它工作。有什麼建議麼?

回答

1

假設這是從jQueryUI的1.8自動完成,而不是一個插件,你需要調用搜索方法:

從文檔:

.autocomplete( 「搜索」, [值]) 觸發搜索事件,其中,當 數據是可用的,然後將顯示 的建議;可以通過選擇框 類似按鈕可用於點擊後打開 建議。如果未指定參數值 ,則使用當前的 輸入值。 0 顯示所有項目:可以用一個空字符串和的minLength被稱爲 。

所以...

if ($("#search_starting_text").text().length > 0 && $("#input_thing").text() == 0) { 

    $("#input_thing").autocomplete("search",$("#search_starting_text").text()); 
     //This meets my conditions for helping the user but not sure what to do here!!! 
}