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> |