我在使用自動填充小部件時遇到了一些問題。當您選擇一個選項時,該項目的值將以換行符和一些空格爲前綴。結果如何顯示:自動填充小部件(jQuery UI) - 爲什麼換行?
Object { label="\n bedroom", value="\n bedroom"}
我不知道爲什麼會這樣,也許這是我設置數組以獲取值的方式?這裏是我的代碼:
$("#step2").show(0, function() {
/*tags auto-complete*/
var tags = $('span', $('#liTags')).text();
var availableTags = tags.split(' ;');
$(".liTagInput").autocomplete({
minLength: 2,
source: availableTags,
select: function(event, ui) {
var value = ui.item;
console.log(value);
console.log(jQuery.inArray(value, availableTags));
if(jQuery.inArray(value, availableTags) >= 0)
$(this).val('');
}
});
});
如果你想知道什麼我想在這裏做(我還沒有測試,因爲換行符的),我碰到一個span元素的標籤上HTML端,然後將它們分成一個數組(availableTags
)。
然後我想要發生的是,一旦用戶在文本框中鍵入內容,如果它不是他/她從自動完成菜單中選擇的東西,那麼應該清除文本字段的值(我也可能會告訴他們一個警告,告訴他們從菜單中選擇,但現在讓我們離開)。
有什麼想法?
@ArtWorkAD:我正在考慮做類似的事情,但我仍然想知道換行符是從哪裏來的。此外,我如何截取所選擇的自動完成菜單選項的值來刪除空格? – Kassem 2011-04-28 09:46:42
看起來你的「可用標籤」有這些換行符。嘗試做可用的日誌標記以確定換行的原因。爲什麼在split(「;」)上有空格? – 2011-04-28 09:53:31
@ArtWorkAD:這是因爲span元素中的標籤由空格和半列分隔。我將刪除該空間並對其進行測試。 – Kassem 2011-04-28 09:58:03