Dear support,
I need be able to cancel the Slide change in some condition. I have try the following code:
function HandleClientValueChange(sender, eventArgs) {
var ok = false;
// Do some caculation
if(!ok) {
sender.set_Value(eventArgs.get_oldValue());
return;
}
}
Unfortunatly it does not work. Is there any way I can cancel out slider's change at client side?
Thanks,
Jeffery
I need be able to cancel the Slide change in some condition. I have try the following code:
function HandleClientValueChange(sender, eventArgs) {
var ok = false;
// Do some caculation
if(!ok) {
sender.set_Value(eventArgs.get_oldValue());
return;
}
}
Unfortunatly it does not work. Is there any way I can cancel out slider's change at client side?
Thanks,
Jeffery
3 Answers, 1 is accepted
0
Obi-Wan Kenobi
Top achievements
Rank 1
answered on 26 Mar 2008, 01:52 PM
If you handle OnClientSlideStart and OnClientSlideEnd events you will achieve your goal. E.g.:
| <head runat="server"> |
| <title>Untitled Page</title> |
| <script type="text/javascript"> |
| var oldValue; |
| function OnClientSlideStart(currentSlider,args) |
| { |
| oldValue = currentSlider.get_value(); |
| } |
| function OnClientSlideEnd(currentSlider,args) |
| { |
| var ok = false; |
| if(!ok) |
| { |
| currentSlider.set_value(oldValue); |
| } |
| } |
| </script> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> |
| <div> |
| <telerik:RadSlider ID="RadSlider1" runat="server" |
| MinimumValue="0" MaximumValue="400" |
| OnClientSlideEnd = "OnClientSlideEnd" |
| OnClientSlideStart = "OnClientSlideStart" |
| /> |
| </div> |
| </form> |
| </body> |
| </html> |
0
Jeffery
Top achievements
Rank 1
answered on 27 Mar 2008, 01:55 AM
Thanks. It works when I drag the handler. Unfortunately it dose not work when I use Increase and Decrease handlers or just click on the slider.
0
Obi-Wan Kenobi
Top achievements
Rank 1
answered on 31 Mar 2008, 11:30 AM
I managed to handle all scenarios with the OnClientValueChange event:
| <head runat="server"> |
| <title>Untitled Page</title> |
| <script type="text/javascript"> |
| var isSecond = false; |
| function OnClientValueChange(currentSlider,args) |
| { |
| if(isSecond == false) |
| { |
| var oldValue = args.get_oldValue(); |
| //Tthis flag is used because set_value will fire the ClientValueChange event again |
| isSecond = true; |
| currentSlider.set_value(oldValue); |
| } |
| else |
| { |
| isSecond = false; |
| } |
| } |
| </script> |
| </head> |
| <body> |
| <form id="form1" runat="server"> |
| <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> |
| <div> |
| <telerik:RadSlider ID="RadSlider1" runat="server" |
| MinimumValue="0" MaximumValue="400" |
| Value = "50" |
| OnClientValueChange = "OnClientValueChange" |
| /> |
| </div> |
| </form> |
| </body> |
| </html> |