当前位置: 首页 > 知识库问答 >
问题:

无法通过在组合框中键入来选择项目

利稳
2023-03-14

这是我第二次发布相同的问题,直到现在都没有得到答案。

我有一个组合框,下面是商店(ExtJs 2.3)

组合存储:
分配
会议
工资

我在键上过滤组合,这样“薪水”项就不会显示在列表中,它工作正常。但是由于组合框项也可以通过键入iside combobox来选择,所以我在组合框的keyUp和beforeQuery上编写了以下代码。

keyup: function () {
    combo2.selectedIndex = -1;
    combo2.store.clearFilter();
    combo2.store.filterBy(function (record) {
          return record.get('text') != 'Salary';
    });
}

beforequery: function (queryEvent) {
    var combo1Val = combo.value; // Give the selected value correctly
    if (combo1Val  ==  'Student' && combo2.store.isFiltered()) 
    {
        queryEvent.combo.expand();
        queryEvent.combo.onLoad();
        return false;
    }
    return true;
}

这成功地过滤掉了“薪水”选项,但现在我无法像以前一样通过键入内部组合框来选择任何选项,即现在如果我输入“As”,它不再选择“分配”选项。我在这里做错了什么?

共有1个答案

吕作人
2023-03-14

你试过用打字机吗?像这样的--

    {
                xtype: 'combobox',
                name: 'address',
                id: 'addressId',
                store: Ext.create('myStore'),
                valueField: 'fullAddress',
                displayField: 'name',
                minChars: 2,
                typeAheadDelay: 100,
                typeAhead: true,
                emptyText: 'Select Address',
                listEmptyText: 'error loading list!',
                width: 300
            }
 类似资料:
  • 我已经实现了,这样我的船舶列表就会根据国家和船舶类型进行更改,但问题是我无法选择任何船舶。 你知道我哪里出了问题吗? 上面是Controller类中的。 上面是视图类中的setter。

  • 所以,我有一个奇怪的问题,我从组合框列表中选择一个项目,为了填充第二个组合框,我必须首先从第一个组合框中再次选择单词,而不是从项目列表中,而是单词本身。只有这样,代码才会注册我选择了该项目。我拥有的代码是简单的$variable.SelectedItem。参见下面的代码; 我想做的就是从下拉列表中选择位置“医院”,然后第二个名为“$ComboBox_Printer”的组合框填充我服务器中的打印机名

  • 我有一个带有组合框的xaml。由于某种原因,我在那里有一些项目,我不能选择它们,当我选择一个项目时,它通常不允许我更改我的选择,如果它更改了,它仅适用于某些值。这是代码: 我希望我写的很清楚,因为我把它从电脑复制到了手机上。基本上,我有所有的用户,并按部门对他们进行分类。用户只能看到他所在部门的文档,并且可以选择绑定词典中可用的文档。如果不可用,组合框中的项目将为红色且不可检查。这个管用。唯一没有

  • 我有一个组合框,里面有数百个项目。用户必须能够在组合框中键入文本。当用户键入文本时,必须选择或列出以键入的值开始的项目。用户必须能够连续输入。我的组合框DropDownStyle是DropDownList E、 g:通过键入在comboBox中选择名称时,它只允许一个字母。因此,如果我键入“A”,它将跳转到以“A”开头的第一个字母。当我连续键入时,组合框中选定的项目会根据当前按键而改变。如果我按“

  • 问题内容: 我们正在使用Selenium WebDriver和JBehave在我们的Web应用程序上运行“集成”测试。我有一种方法,可以在表单输入中输入一个值。 但是,当我尝试使用它在下拉列表中选择一个项目时,它(毫无疑问)失败了 java.lang.UnsupportedOperationException:您只能设置作为输入元素的元素的值 如何在组合中选择一个值? 问题答案: 这是怎么做的:

  • 我在后台有< code>ViewModel(实现< code > INotifyPropertyChanged )和类< code>Category,它只有一个< code>string类型的属性。我的ComboBox SelectedItem绑定到类别的实例。当我更改instance的值时,SelectedItem没有更新,Combobox也没有更改。 编辑:代码 组合框: 物业: 我尝试的是: