Hapus dan segarkan nilai dalam kotak kombo tertaut di ext js

saya telah membuat dua kotak kombo tertaut di ext js yang mengambil data menggunakan json/ajax/php. Ketika suatu nilai (produsen mobil) dipilih di kotak kombo pertama, kotak kombo kedua akan memperbarui dirinya sendiri dengan model di bawah pabrikan tersebut, misalnya. memilih toyota di kombo pertama akan memperbarui kombo kedua dengan nilai seperti avensis, corolla, premio, ist, dll.

Pertama. Masalah yang saya alami adalah ketika saya memilih item di kombo pertama, mis. 'toyota', lalu pilih misalnya 'avensis' pada kombo kedua, lalu ganti ke pabrikan lain misalnya Mercedes Benz. Jika Mercedes memiliki model di bawahnya, misalnya C200, E500, dll, maka model tersebut akan ditampilkan di kombo kedua, namun nilai 'avensis' yang dipilih sebelumnya tetap sama seperti yang dipilih di kombo pertama. Bagaimana cara menghapus nilai itu?

Kedua. Jika json yang saya kembalikan tidak memiliki nilai, nilai kombo kedua tidak berubah. Bagaimana cara membuat kombo kedua kosong jika json yang dikembalikan memiliki nilai nol? Berikut cuplikan kode saya:

xtype: 'combo',
                name: 'auto_make',
                id: 'auto_make',
                fieldLabel: 'Auto Make',
                store: auto_make_store,
                queryMode: 'local',
                displayField: 'name',
                valueField: 'id',
                listeners: {
                    "select": function(obj){ 
                        var makeid = obj.getValue();// value of selected combo item

                        Ext.Ajax.request({
                            url: '../includes/dhx_dataview.php?action=15&mk='+ makeid +'&sc=' + subid + '&ac=' + cat,
                            success: function (response) {
                                var data = Ext.decode(response.responseText).models;
                                auto_model_store.loadData(data);
//Do I clear/ refresh second combo here? How?
                            }
                        });
                    }


                }

Terima kasih dan rgds.


person nixxx    schedule 24.01.2013    source sumber


Jawaban (2)


Anda dapat mencoba sesuatu seperti ini - ini akan memuat ulang kotak kombo Anda

{
 xtype: 'checkbox',
 //configs
 listeners : {
     checked : function (checkbox, checkedBool) {
     var yourCombo = Ext.getCmp(yourComboID);

     yourCombo.store.reload(
              {   
                 params: 
                     {yourParam : checkedBool},
                     {yourRowID : rowID}
                });
      }
  }
person Rachel Gallen    schedule 24.01.2013
comment
Saya berurusan dengan dua kombo, bukan kotak centang dan kombo. Maaf atas kesalahan awal, saya telah mengedit pertanyaan saya untuk mencerminkan hal itu. Rgds. - person nixxx; 24.01.2013
comment
FYI, kotak kombo memuat ulang dan menampilkan info seperti yang diharapkan. Saya tidak punya masalah memuat data ke dalam kombo. Masalah yang saya alami adalah menghapus nilai yang sebelumnya dipilih di kotak kombo dinamis, sehingga dapat menampilkan nilai baru. - person nixxx; 25.01.2013

Anda dapat mencoba menambahkan forceSelection: true ke kotak kombo Anda. Ini mengharuskan nilai yang dipilih ada di penyimpanan terikat.

person existdissolve    schedule 24.01.2013