Hi how do i cancel the dropdown change event?
i am doing a user conformation on dropdown change event. if the user confirm no then the dropdown selected value should go back to its old value. i tried return false but didnt work.
                                i am doing a user conformation on dropdown change event. if the user confirm no then the dropdown selected value should go back to its old value. i tried return false but didnt work.
thanks for your help Arun$("#myDropdown").data("kendoDropDownList");.bind("change",function(e) {if(!confirm('warning'))returnfalse;}
5 Answers, 1 is accepted
0
                                
                                                    Arun
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 27 Jul 2012, 06:43 PM
                                            
                                        seems we cannot cancel the change event.  To achieve the desired functionality i had to bind to 'select' event and then do 
                                        e.preventDefault();please feel to correct me if i am wrong :-) thanks, Arun('#myDropdown').bind("select",function(e) {vardata =this.dataItem(e.item.index());varcurrent =this.value();// this will have the old selected valuevarselectedType = data.Code;//this will have the new selected value}
0
                                
                                                    Elias
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 15 Nov 2012, 08:32 PM
                                            
                                        You can't cancel the onChange event, but you can cancel the onSelect event. Call the preventDefault() function and it will cancel the event.
function onSelect(e) {
e.preventDefault();
}
-- or --
                                        function onSelect(e) {
e.preventDefault();
}
-- or --
('#myDropdown').bind("select", function (e) {    e.preventDefault();
}0
                                
                                                    Tayger
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
                
                     Iron
                    Iron
                
                
                     Iron
                    Iron
                
    
                                                
                                                answered on 21 Mar 2016, 10:18 AM
                                            
                                        Thank you, works well also on my side... In case of having an optionLabel in dropownlist you have to add +1 to the index, else its always shifted by 1:
var data = this.dataItem(e.item.index()+1);That shouldn't be since the optionLabel is no more an element of DOM and dropdownlist.
0
                                
                                                    Graham
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
                
                     Iron
                    Iron
                
                
                     Iron
                    Iron
                
    
                                                
                                                answered on 10 Aug 2017, 02:28 PM
                                            
                                        A workaround to not being able to cancel the event: put a conditional statement in the event function to prevent it from running its code if a certain condition applies. Set that condition in the code to "cancel" the event.
                                        0
                                
                                                    Edward
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 09 Mar 2019, 01:11 AM
                                            
                                        Following works for me, with optionlabel set:
    let prevValue = this.text(); //this.selectedIndex
    let newValue = e.dataItem.Value; // e.dataItem.Id