jQuery .val()不会在ui-autocomplete选择处理程序上进行任何更改

MQ87

我有一个带有jquery-ui自动完成功能的输入。关于自动完成功能“选择”,我想将输入值更改为自动完成功能的所选项目。我必须这样做是因为我的数据结构与jquery-ui期望的数据结构不同。一切正常,但是当我尝试设置输入值时,没有任何变化,也没有出现任何错误。

这是我的代码:

HTML:

<input type="text" placeholder="from" name="location" id="search-form-location" class="inputAddon-field flex-shrinker flex-grower" value="London, United Kingdom">

JS:

$( "#search-form-location" ).autocomplete({
  source: "/api/airports-autosuggest",
  minLength: 3,
  select: function( event, ui ) {
    console.log(JSON.stringify(ui.item,0,4));
    console.log($(this));
    $(this).val(ui.item.PlaceName);
  }
}).autocomplete( "instance" )._renderItem = function( ul, item ) {
  if (item.PlaceId===item.CityId){
    return $( "<li>" )
    .append( "<span class='placeName'>"+ item.PlaceName +"</span> <span class='placeCode'>(All airports)</span> <span class='countryName'> " + item.CountryName +  "</span>" )
    .appendTo( ul );
  } else
  return $( "<li>" )
    .append( "<span class='placeName'>" + item.PlaceName + "</span> <span class='placeCode'>("+trump(item.PlaceId, "-sky" )+")</span> <span class='countryName'>" + item.CountryName + "</span> " )
    .appendTo( ul );
};

当我从自动完成控制台中选择一个选项时,log(JSON.stringify(ui.item,0,4))打印出我期望的对象(例如下面),console.log($(this))打印出正确的对象对象,但输入字段变为空白,仅显示占位符。如果在浏览器中检查它,我仍然会看到原始值attr:value =“英国伦敦”

ui.item对象:

 {
    "PlaceId": "LOND",
    "PlaceName": "London",
    "CountryId": "UK",
    "RegionId": "",
    "CityId": "LOND",
    "CountryName": "United Kingdom"
}
gt

默认select处理程序将覆盖您的自定义值。添加一个return false以防止事件处理逻辑传播给它:

select: function( event, ui ) {
    console.log(JSON.stringify(ui.item,0,4));
    console.log($(this));
    $(this).val(ui.item.PlaceName);
    return false;
  }

http://jqueryui.com/autocomplete/中的小提琴示例:http : //jsfiddle.net/2qp708zo/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jquery 不会在用 CSS 隐藏的表单中更改输入 val

来自分类Dev

jQuery UI Datepicker不会在选择日期时更改Value

来自分类Dev

jQuery .val(#)不会在AJAX调用后更改选择-如果调试/暂停,则可以使用

来自分类Dev

jQuery UI Datepicker不会在受限选择中呈现第二个月

来自分类Dev

jQuery变量不会在更新时更改

来自分类Dev

jQuery UI动画不会在隐藏元素上发生

来自分类Dev

Javascript/Jquery 不会在 Safari 中更改 URL 参数,但会在 Chrome 中更改

来自分类Dev

jQuery:append()不会在选择器中插入任何元素

来自分类Dev

jQuery单击处理程序功能不会在DOM加载后添加的元素上触发

来自分类Dev

jQuery change事件不会在指定的选择器上触发

来自分类Dev

为什么我的jquery不会在按钮按下时更改css属性?

来自分类Dev

jQuery-不会在下拉菜单上触发更改功能

来自分类Dev

jQuery:自定义自动完成列表不会在输入更改时重绘自身

来自分类Dev

jquery-confirm 对话框内容不会在表单更改时更新

来自分类Dev

元素不会在更改事件中与 jQuery 一起显示

来自分类Dev

使用jQuery UI激活工具提示时,单击按钮不会在警报中显示标题

来自分类Dev

Dropdownlist SelectedIndexChanged事件不会在jQuery UI对话框内触发

来自分类Dev

jQuery UI可选事件不会在可拖动事件上触发

来自分类Dev

setUrl不会在GWT中进行任何更改

来自分类Dev

Angular:与 jQuery 混合的 ng-change 不会在第二次更改时触发

来自分类Dev

角度UI选择不会在下拉列表中加载大列表

来自分类Dev

Angular UI Router不会在URL更改时获取查询参数

来自分类Dev

UI-Router-范围不会在状态更改时被破坏?

来自分类Dev

不会在UI中反映出kickout.js observableArray的更改

来自分类Dev

绑定到ObservableColellection的ItemsControl不会在属性更改时更新UI

来自分类Dev

错误 CS0649,程序不会在定义的 UI 中显示变量

来自分类Dev

Jquery-UI 自动完成自定义数据 - 图像不会在自动完成的下拉列表中呈现

来自分类Dev

Webpack不会在更改时重建

来自分类Dev

Apex域不会在AWS SES上进行验证

Related 相关文章

  1. 1

    jquery 不会在用 CSS 隐藏的表单中更改输入 val

  2. 2

    jQuery UI Datepicker不会在选择日期时更改Value

  3. 3

    jQuery .val(#)不会在AJAX调用后更改选择-如果调试/暂停,则可以使用

  4. 4

    jQuery UI Datepicker不会在受限选择中呈现第二个月

  5. 5

    jQuery变量不会在更新时更改

  6. 6

    jQuery UI动画不会在隐藏元素上发生

  7. 7

    Javascript/Jquery 不会在 Safari 中更改 URL 参数,但会在 Chrome 中更改

  8. 8

    jQuery:append()不会在选择器中插入任何元素

  9. 9

    jQuery单击处理程序功能不会在DOM加载后添加的元素上触发

  10. 10

    jQuery change事件不会在指定的选择器上触发

  11. 11

    为什么我的jquery不会在按钮按下时更改css属性?

  12. 12

    jQuery-不会在下拉菜单上触发更改功能

  13. 13

    jQuery:自定义自动完成列表不会在输入更改时重绘自身

  14. 14

    jquery-confirm 对话框内容不会在表单更改时更新

  15. 15

    元素不会在更改事件中与 jQuery 一起显示

  16. 16

    使用jQuery UI激活工具提示时,单击按钮不会在警报中显示标题

  17. 17

    Dropdownlist SelectedIndexChanged事件不会在jQuery UI对话框内触发

  18. 18

    jQuery UI可选事件不会在可拖动事件上触发

  19. 19

    setUrl不会在GWT中进行任何更改

  20. 20

    Angular:与 jQuery 混合的 ng-change 不会在第二次更改时触发

  21. 21

    角度UI选择不会在下拉列表中加载大列表

  22. 22

    Angular UI Router不会在URL更改时获取查询参数

  23. 23

    UI-Router-范围不会在状态更改时被破坏?

  24. 24

    不会在UI中反映出kickout.js observableArray的更改

  25. 25

    绑定到ObservableColellection的ItemsControl不会在属性更改时更新UI

  26. 26

    错误 CS0649,程序不会在定义的 UI 中显示变量

  27. 27

    Jquery-UI 自动完成自定义数据 - 图像不会在自动完成的下拉列表中呈现

  28. 28

    Webpack不会在更改时重建

  29. 29

    Apex域不会在AWS SES上进行验证

热门标签

归档