为了提交任意文本,是否需要在表单内部使用extjs组合框?

时间:2013-10-14 19:41:09

标签: javascript extjs combobox

我正在使用extjs 3.4.0。

如果我只需要能够从列表中选择项目,或者我还希望它能够提交任意文本,我试图弄清楚组合框是如何不同的。

看起来forceSelection:true / false是这里的键配置选项,使用forceSelection:true只能从下拉菜单中选择一个项目,使用forceSelection:false,应该能够键入任意文本。

查询服务器并获得带有匹配选项的下拉菜单效果很好,但我无法提交我的任意文本(不在下拉菜单中)。如果我只是输入提交的查询,但是如果没有任何匹配,那么按Enter键即使我希望Enter会发送请求也没有发生,类似于在搜索匹配时如何发送请求。

我是否需要将组合框放在Form实例中才能提交任意文本?这会感觉很奇怪,因为组合框完全能够在搜索匹配时发送请求。

更新

这是我的实际代码:

var store = new Ext.data.JsonStore({
    url: '/store',
    root: 'items',
    totalProperty: 'count', 
    fields: Ext.data.Record.create( [ 'name', 'id' ] ),
    id: 'id' });

var combo = new Ext.form.ComboBox({
    store: store,
    forceSelection: false,
    typeAhead: true,
    loadingText: '',
    width: 170,
    hideTrigger: true,
    itemSelector: 'div.item',
    applyTo: 'div.box',
    queryParam: 'tx', 
    hiddenValue: 'something',
    name: 'name',
    displayField: 'name',
    submitValue: true,
    allowBlank: false,
    onSelect: function( record ) { alert( record.data.name ); }
    }); 

0 个答案:

没有答案