如何处理自动完成组合框上的选择事件

时间:2018-09-25 15:37:07

标签: jquery-ui

我有一个jQuery UI自动完成组合框,我想为其处理select事件。我在堆栈溢出中找到了这个答案:Hooking event handlers to jQuery Autocomplete Combobox

但是这种解决方案似乎对我不起作用。我已将以下内容添加到组合框的原始代码中,但是当我更改选择内容时,控制台上什么都没有显示:

$( "#combobox" ).combobox({
         selected: function(event, ui) {
           console.log("Selected");
            // Event handling code goes here.
         } // selected
      });

jsFiddle

处理组合框选择事件的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

在检查组合框代码时,您会看到触发了“选择”事件而不是“已选择”事件。我不知道此名称“ selected”来自上面引用的帖子中。我正在使用JQuery UI 1.12。因此代码应如下所示:

var editList = [{"gradingId": "9","lowerLimit": "34","upperLimit": "55"}, {"gradingId": "11","lowerLimit": "23","upperLimit": "45"}, {"gradingId": "37","lowerLimit": "20","upperLimit": "35"}];

function propVal(arr, key) {
  var res = [];
  for (let i = 0; i < arr.length; i++) {
    res.push(arr[i][key]);
  }
  return `${key}: ${res}`;
}

console.log(propVal(editList, "gradingId"));
console.log(propVal(editList, "lowerLimit"));
console.log(propVal(editList, "upperLimit"));

Updated jsFiddle