Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在extjs组合框中按enter键获得所选结果的值_Extjs - Fatal编程技术网

如何在extjs组合框中按enter键获得所选结果的值

如何在extjs组合框中按enter键获得所选结果的值,extjs,Extjs,我有一个组合框,我使用向上/向下箭头键浏览搜索结果,当我在特定结果上按enter键时,我加载不同的视图,我还需要所选结果的值(相对于valuefield) 我使用了specialkey事件和如果(e.getKey()==e.ENTER)则执行getValue(),然后加载视图。但是在getValue()上,我得到的是原始值,即我显示的字符串,而不是valuefield的值(我有displayField:'Name'和valuefield:'id') 我还尝试触发一个select事件,并在其侦听器

我有一个组合框,我使用向上/向下箭头键浏览搜索结果,当我在特定结果上按enter键时,我加载不同的视图,我还需要所选结果的值(相对于valuefield)

我使用了specialkey事件和
如果(e.getKey()==e.ENTER)
则执行getValue(),然后加载视图。但是在getValue()上,我得到的是原始值,即我显示的字符串,而不是valuefield的值(我有displayField:'Name'和valuefield:'id')

我还尝试触发一个select事件,并在其侦听器中执行combo.getValue(),但仍然获取原始值,而不是针对valuefield的值。我需要id,因为我可能有2个或更多同名的搜索结果,但每个结果都有一个唯一的id


有什么方法可以获取值吗?

组合框将挂钩到选择器的两个事件中,您应该对此感兴趣:

me.mon(picker, {
    itemclick: me.onItemClick,
});

me.mon(picker.getSelectionModel(), {
    selectionchange: me.onListSelectionChange,
});
资料来源:


你需要挂接到这个事件中,然后你应该有你的值

你能调整这个,让我看到你的问题吗,因为这个例子是可行的我使用MVC&在我的控制器中,我有一个特殊事件和选择事件的监听器。我触发事件以在按下Enter键时加载不同的视图,并且我希望在加载视图之前在变量中设置组合框中选定结果的值(相对于值字段)。但问题是,在加载之前先加载视图,然后再设置值。specialkey:function(field,e){if(e.getKey==e.ENTER){//var value=field.getValue();//这给了我原始值而不是实际值firevent('loadView');}},选择:function(combo){var value=combo.getValue();//在这里获取实际值}。与此类似,但在加载视图之前我需要值。现在视图加载,然后我得到值只是想知道,选择唯一可以给我实际值的事件(针对valuefield指定)还是有更多事件?谢谢…我在extjs 4.2.1文档中检查了这些事件,但是我在Ext.form.field.Combobox或Ext.for.field.Picker中找不到itemclick或selectionchange。如果可能,您可以发布一个示例…抱歉,我只能为您指出正确的方向,没有时间深入了解,但以下是事件:我还想在按下向上或向下箭头键时,在组合框文本字段的搜索结果中设置突出显示的值。尝试使用highlightAt功能,但这在IE8中不起作用。还有其他方法吗?这将是一个很大的帮助…谢谢