jQuery EasyUI kullananlar yaşamıştır diye düşünüyorum. Öncelikle belirtmekte fayda var, bu makale 2015 yılına ait, en son jQuery EasyUI üzerinde denenmemiştir. jQuery easyUI ile textbox
, datebox
, numberbox
ve combobox
fonksiyonlarına sahibiz. Bu fonksiyonlar inputlara bazı modern özellikler ekliyor. Olay şurada başlıyor, inputlarımızı EasyUI ile daha işlevsel hale getirdiğimizde form onchange olayı yakalanmıyor. Yani şöyle ki aşağıdaki gibi başlayan bir formumuz olduğunu düşünün ve form inputlarında değişiklik yaptığımızda degisimYapildi()
fonksiyonunun çalışmasını istiyoruz. Fakat çalışmıyor! İşte çözümü bu makalede!
1 |
<form action="#" id="trkodlamaForm" onChange="degisimYapildi()"> |
jQuery EasyUI inputları bu onchange eventini yakalayamıyor.. onChange özelliğinden faydalanmak için jQuery EasyUI kütüphanemizi HTML’inize eklediğiniz satırdan sonra aşağıdaki JavaScript kodunu eklerseniz probleminiz çözülecektir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
(function($){ var numberbox = $.fn.numberbox.defaults.onChange; $.fn.numberbox.defaults.onChange = function(newValue, oldValue){ $(this).closest('form').trigger('change'); numberbox.call(this, newValue, oldValue); }; var combobox = $.fn.combobox.defaults.onChange; $.fn.combobox.defaults.onChange = function(newValue, oldValue){ $(this).closest('form').trigger('change'); combobox.call(this, newValue, oldValue); }; var textbox = $.fn.textbox.defaults.onChange; $.fn.textbox.defaults.onChange = function(newValue, oldValue){ $(this).closest('form').trigger('change'); textbox.call(this, newValue, oldValue); }; var datebox = $.fn.datebox.defaults.onChange; $.fn.datebox.defaults.onChange = function(newValue, oldValue){ $(this).closest('form').trigger('change'); datebox.call(this, newValue, oldValue); }; })(jQuery); |
Umarım faydalı olur, iyi geceler,
Yorumlar