2014-02-17 2 views
0

У меня есть два combobox A и B, и я пытаюсь установить значение combobox B на основе значения combobox A в ExtJS 4. Я хочу сделать это, когда окно открыто и что поле со списком А имеет значение, которое выбрано.установить значение combobox на основе значения другого combobox на компоненте окна extjs4

Комбобокс в форме панели. Я знаю, что те ценности, которые я хочу задать для выпадающего списка, потому что я загружаю форму, как это:

Ext.getCmp('form_panel_id').getForm().load({ 
    url:'request.php', 
    params: 
    { 
     type: 'get_values', 
     record_id: 12 
    }, 
    success:function(form, action) 
    {   
     window_id.show(); 
     window_id.center(); 
    } 
}); 

get_values.php возвращает значения (в формате JSON), чтобы отобразить в выпадающих списках.

Каков наилучший ответ для достижения этого и как? Извините, я новичок в ExtJS.

Спасибо

+0

Вы можете установить' listener' к COMBOBOX А - так, что, когда значение А поле со списком , значение combobox B обновляется с этим значением. –

+0

@TyrannicalTyrannosaurus Как я уже сказал, я хочу, чтобы combobox B имел свое значение автоматически, потому что combobox A будет выбран, когда окно открыто. – user765368

+0

Второй ответ на этот вопрос: http://stackoverflow.com/questions/5389128/extjs-how -to-l-set-value-for-combobox-when-loading может быть полезным –

ответ

0

поймать afterrender событие окна и .setValue() комбо B на основе комбо-х .getValue()

http://jsfiddle.net/urLEc/3/

Что-то к сведению, что displayfield и valuefield конфиги. displayfield - это, очевидно, то, что показано в комбо, и valuefield - это то, что вы получаете от .getValue().

Если первый комбо valuefield «S значение соответствует второй комбо valuefield вы можете просто сделать:

combo2.setValue(combo1.getValue())

Смежные вопросы