0

我正在尝试实现实时搜索组合。它应该是这样工作的:当我在组合字段中输入一个字符时,我读取当前值并将其作为参数发送到商店的 url。在后端,该参数用于从包含它的数据库中返回任何值,因此组合后面的存储仅填充那些过滤后的值。当我继续在组合中输入字符时,应该更新参数并再次将其发送到后端等等,这样一个越来越小的存储。我尝试使用组合的事件按键甚至 keyup 来实现此行为,但问题是我无法从组合字段访问当前值。例如,当我在组合中输入“for”字符串时,如何使用组合对象获取此值?comboName.getValue() 不起作用,它什么也不返回“”。

我已经在这里看到了现场组合示例:http: //docs.sencha.com/extjs/4.2.2/# !/example/form/forum-search.html但根本没有帮助我。

所以我的大问题是:如何在编辑组合字段的同时获得当前值?

任何帮助将不胜感激,谢谢。

4

2 回答 2

0

你应该可以使用

comboName.getValue();

或者

comboName.getRawValue();

comboName 是您的组合框。两者都不起作用-我在您的帖子中指出getValues(),这是一种不正确的方法。您可能还想检查当您引用组合框对象时,该引用是否正确。关键事件的第一个参数实际上是对象本身,所以你应该能够做到,例如

listeners:{
  keyup:function(comboBox){
      var value = comboBox.getValue() || comboBox.getRawValue();
      console.log(value);
  }
}

适当地交换你的价值获取方法。

于 2013-10-30T13:36:58.017 回答
0

我发现该组合已经具有快速搜索行为,我只需在“远程”和其他一些小配置上设置 queryMode。更多细节在这里: Ext Js 4.2.2 组合框查询模式

于 2014-01-10T15:28:12.367 回答