Benim extjs uygulamasında bir combo var ve ' emin misiniz?' Kullanıcıya pencereyi onaylayın ve kullanıcı hayır dediğinde değiştirmeyi engelleyin.Kullanıcı Eklenti'de combobox değişim etkinliğinde nasıl onaylayabilirim?
JavaScript onay kutusu senkronize olduğundan, düzgün çalışıyor. Ancak, Ext JS kullanarak onay mesajı gösterilir ve kodun geri kalanı kullanıcı yanıt vermeden önce yürütülür.
// JavaScript confirm box
{
xtype: 'combo',
...
...
...
listeners: {
beforeselect: function(combo, record, index) {
if(confirm('Are you sure ?') == false)
{
return false; // prevent combo from changing
}
// else continue
}
}
}
// Ext JS message box (to confirm)
{
xtype: 'combo',
...
...
...
listeners: {
beforeselect: function(combo, record, index) {
Ext.Msg.show({
title: 'Warning',
msg: 'Are You Sure ?',
buttons: Ext.Msg.YESNO,
fn: function(btn) {
if (btn == 'yes') {
// continue and set new value on combo
}
else if (btn == 'no') {
// prevent combo from changing
}
}
});
}
}
}
sorun Ext.Msg.show
bir geri çağırma işlevi alır ve kullanıcı cevap bekliyor değildir ve biz combobox değişimi engellemek mümkün değil ise: İşte benim kodudur.
Ne yapmalıyım?
Bu işe yaramıyor, çünkü daha önce yeni seçilen değeri bilmiyoruz. –
Lütfen düşünün ve sonra –
cevabını seçin. Beforeselect'de seçilen değeri biliyorsunuz, ikinci argüman (yukarıdaki adamın cevabındaki kayıt). Değeri elde etmek için 'record.get ([combos değer alanı]) 'yi kullanabilirsiniz;' – Geronimo