10

コンボ ボックスの次のコードがあります。コンボ ボックスで選択されている値を取得し、その値を変数にロードして、後で使用するにはどうすればよいですか。

ありがとうございました

Ext.define('Column', {
    extend: 'Ext.data.Model',
    fields: ['data1', 'Data2']
});

var store = Ext.create('Ext.data.Store', {
    model: 'Column',
    autoLoad: true,
    proxy: {
        type: 'ajax',
        url: '/data.xml',
        reader: {
            type: 'xml',
            record: 'result'
        }
    }
});

var simpleCombo = Ext.create('Ext.form.field.ComboBox', {
    store: store,
    displayField: 'data1',
    valueField: 'data1',
    width: 250,
    labelWidth: 120,
    fieldLabel: 'select a value',
    renderTo: 'simpleCombo',
    queryMode: 'local',
    typeAhead: true
});
4

3 に答える 3

12

選択イベントを使用するだけです

var simpleCombo = Ext.create('Ext.form.field.ComboBox', {
            store: store,
            displayField: 'data1',
            valueField: 'data1' ,
            width: 250,
            labelWidth: 120,
            fieldLabel: 'select a value',
            renderTo: 'simpleCombo',
            queryMode: 'local',
            typeAhead: true,
            listeners: { 
               select: function(combo, records) {
                   // note that records are a array of records to be prepared for multiselection
                   // therefore use records[0] to access the selected record
               }
        });

API リンク

コメントからの追加コンテンツ:

コンボボックスのmultiSelectプロパティを見てください。定義された区切り文字で区切られたすべての値を取得すると、選択イベントにより、複数のレコードを含むレコード配列が得られます。getValue() は、レコード自体ではなく、文字列である定義済みの displayField のみを提供することに注意してください。したがって、iComboValue[0] を使用すると、最初の文字が得られます。選択したレコードは、常に選択したイベントを使用してアクセスする必要があります。ただし、後で使用するためにそれらを配列に保存し、新しい選択で上書きすることができます。

于 2012-08-25T06:59:07.273 に答える
10

以下も使用できます。

var iComboValue = simpleCombo.getValue();
于 2012-08-26T13:09:46.473 に答える
0

あなたはこれを試してみるべきかもしれません

 // to get the combobox selected item outside the combo listener
        simpleCombo.on('change', function (combo, record, index) {

            alert(record);  // to get the selected item

            console.log(record);  // to get the selected item

        });
于 2014-05-12T09:04:47.147 に答える