jquery – 如何在datalist html5中显示文本,而不是值

前端之家收集整理的这篇文章主要介绍了jquery – 如何在datalist html5中显示文本,而不是值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. <!DOCTYPE html>
  2. <html>
  3. <body>
  4.  
  5. <input list="browsers" name="browser">
  6. <datalist id="browsers">
  7. <option value="Internet Explorer">1</option>
  8. <option value="Firefox">2</option>
  9. <option value="Chrome">3</option>
  10. <option value="Opera">4</option>
  11. <option value="Safari">5</option>
  12. </datalist>
  13. <input type="submit">
  14. </form>
  15.  
  16. </body>
  17. </html>

http://jsfiddle.net/j7ehtqjd/1/

我附了一个小提琴.请检查.
我想要实现的解决方案是当我点击显示值的下拉列表,但是我想要显示文本1,2,3,4,5.我必须对我的实际问题使用一个json响应.只应该显示文本,并且应该像普通下拉列表那样隐藏该值.这个自动完成功能是必需的,否则我将会使用正常的下拉菜单.

解决方法

编辑,更新

以下摄政

尝试(v3)

HTML

  1. <input id="selected" list="browsers" name="browser">
  2. <datalist id="browsers">
  3. <option data-value="InternetExplorer" value="1"></option>
  4. <option data-value="Firefox" value="2"></option>
  5. <option data-value="Chrome" value="3"></option>
  6. <option data-value="Opera" value="4"></option>
  7. <option data-value="Safari" value="5"></option>
  8. </datalist>
  9. <input id="submit" type="submit">

JS

  1. $(document).ready(function() {
  2.  
  3. var data = {};
  4. $("#browsers option").each(function(i,el) {
  5. data[$(el).data("value")] = $(el).val();
  6. });
  7. // `data` : object of `data-value` : `value`
  8. console.log(data,$("#browsers option").val());
  9.  
  10.  
  11. $('#submit').click(function()
  12. {
  13. var value = $('#selected').val();
  14. alert($('#browsers [value="' + value + '"]').data('value'));
  15. });
  16. });

jsfiddle http://jsfiddle.net/guest271314/j7ehtqjd/13/

猜你在找的jQuery相关文章