2012-04-28 64 views
1

我實現jQuery AutoComplete plugin像這樣指定的源網址:實現jQuery的自動完成插件與元素標記

HTML:

<input type='text' class='AutoComplete' url='/source/data'> 

的jQuery:

$(".AutoComplete").autocomplete({ 
    source: "/source/data" 
}); 

上面的代碼是工作。現在我希望source自動完成選項的一部分應該從輸入的url屬性(url='/source/data')中獲取。

這怎麼可能?

感謝

回答

2

你需要調用自動完成()函數(設置源),分別爲每個文本框。

function init(){ 
    $(".autocomplete").each(function(ix,item){ 
     var $item = $(item), 
      url = $item.attr('data-ac-url'); 
     $item.autocomplete({ source: url}); 
    }); 
} 

$(document).ready(init); 

這適用於這個HTML:

<input id='box1' 
     class='autocomplete' 
     value='' type='text' 
     data-ac-url='/asp/autocomplete-src1.aspx' /> 
<input id='box2' 
     class='autocomplete' 
     value='' type='text' 
     data-ac-url='/asp/ac-src2.php'/> 

要指定元素標記中的網址,我建議使用屬性喜歡data-???which complies with the HTML5 standard

+0

+1謝謝。完美運作。你能解決另一件事嗎?如果元素中沒有'data-ac-url'屬性,那麼它將在螢火蟲中產生一個錯誤,例如'this.source不是函數'。如果沒有'data-ac-url'屬性,我們能不能修復它,因爲它沒有做任何事情。 – Student 2012-04-28 18:21:01

+1

爲什麼不呢?你可以在這裏插入一個'if'語句來測試它。我想知道你會怎麼做? hmmmmm ..... – Cheeso 2012-04-29 05:16:43