2016-05-02 19 views
0

にBoxSelectに新しい選択を追加し、私は私の店で埋めますフィールドを持つフォームがあります。ExtJSに4.2:フライ

Ext.define('EcommBackoffice.store.TransactionProviderStatus', { 
    extend: 'Ext.data.Store', 
    autoLoad: true, 
    proxy: { 
    type: 'ajax', 
    url: 'resources/data/providerstatus.json', 
    reader: { 
     type: 'json', 
     root: 'providerstatus' 
    } 
    }, 
    fields: ['id', 'name'] 

}); 

を私の店は、項目の単純なリストが含まれています

{ providerstatus:[{ ID: "期限切れ"、 名: "期限切れ" }、{ ID: "ERROR"、 名 "ERROR" }、{ ID: "FRAUD"、 名: "FRAUD" }、{ ID: "PAID"、 名: "PAID" }、{ ID: "未確認"、 名: "未確認" }]}

私の形の内部には、上記店舗その後、BoxSelectによって移入さ:

{ 
    xtype: 'boxselect', 
    name: 'providerstatus', 
    fieldLabel: oMe.providerstatusField, 
    width: 468, 
    store: 'TransactionProviderStatus', 
    displayField: 'name', 
    valueField: 'id', 
    minChars: 2, 
    typeAhead: true 
} 

これは完璧に動作しますが、私もその中のユーザーの種類の新しい値をしながら、より多くの項目を追加していきます。このBoxSelectは複数選択であることに注意してください。現在、私はそれにランダムな値を入力すると、単にそれをクリアします。

この特定のフィールドを設定して、アイテムを追加して送信時に渡すデータの一部として含めることができるようにするにはどうすればよいですか?

答えて

2

このボックスセレクトにforceSelection:falseを試しましたか?

forceSelectionがfalseの場合、ユーザーは入力時に新しいレコードを作成できます。これらのレコードはコンボストアに追加されません。複数の新しい値をデリミタで区切って追加することができ、さらにcreateNewOnEnterおよびcreateNewOnBlur設定オプションを使用して設定することができます。

またcreateNewOnEntercreateNewOnBlur

Create new on Enter for Box Select

+0

をご確認私は 'createNewOnEnter'と' createNewOnBlur'の両方を追加し、それはそれをやりました。最初は前者を試しましたが、何もしませんでした。 'forceSelection:false'も設定します。ありがとう! – ralphcarlo

関連する問題