מיקרוסופט העבירה את AutoComplete לספרית AjaxControlToolkit, שהיא ספרית קוד פתוח.
ברצוני להראות מה צריך לעשות בקובץ AutoCompleteBehavior.js כדי שה- AutoComplete יעבוד בעברית עם הדגשות.
בעיה ראשונה:
הטקסט לא מיושר לימין למרות הגדרות.
הסיבה שזה לא עובד כי בקוד (AutoCompleteBehavior.js) יש את השורה הבאה בעת מילוי התוצאות (שורה 343):
itemElementStyle.textAlign = 'left';
צריך פשוט למחוק אותה.
בעיה שנייה:
אנחנו רוצים להדגיש את הטקסט שלנו בתוך התוצאות החוזרות, כמו בתמונה למעלה.
אם נחזיר את התוצאות מ- Web Service עם HTML , ניפחנו את התעבורה. פתרון קל אך לא יעיל.
הפתרון המומלץ לטפל בהדגשה בצד ה- Client:
תחליפו את שורה 338:
itemElement.appendChild(document.createTextNode(completionItems[i]));
ב:
var boldPrefix = "<b>" + prefixText + "</b>";
itemElement.innerHTML = str.replace( prefixText ,boldPrefix);
זה הכל, קיבלנו AutoComplete מעוברת.