在日常的頁面制作中,為了方便用戶輸入,經常可以在一個輸入文本框中,當用戶輸入內容時,自動下拉提示建議用戶的輸入,這叫autocomplete或者autosuggestion功能,這樣能加快用戶的輸入,目前的做法是通過ajax去實現,比如通過DWR等,這方面的資料很多的。
而HTML5中,新增加了datalist這個標簽,其實也是可以滿足在前端達到同樣的功能,例子如下:
- <input type="text" value="" list="fruits" />
- <datalist id="fruits">
- <option value="Apple"></option>
- <option value="Orange"></option>
- <option value="Peach"></option>
- </datalist>
這樣的代碼運行後,當用戶在文本輸入框輸入內容時,就會下拉提示三種水果, 建議用戶輸入,如果擔心浏覽器兼容問題,可以嘗試用如下代碼:
- <datalist id="fruits">
- Pick your favorite fruit
- <select name="fruit_sel">
- <option value="Apple">Apple</option>
- <option value="Orange">Orange</option>
- <option value="Peach">Peach</option>
- </select>
- or type one.
- </datalist>
- <input type="text" name="fruit" value="" list="fruits" />
但這個情況下,記得服務端要同時捕捉fruits和fruit_sel兩個參數了
datalist在firefox版本下一直都有的,這個贊揚一個,而其他版本浏覽器對其兼容情況。