我正在使用一个jQuery UI滑块,除了这个:我有一个ASP.NET隐藏字段,用来存储用户用滑块选择的任何内容。比方说25或50。我需要该服务器控件,以便在执行其他步骤后可以使用它的值。它可以工作,但当页面执行回发时,滑块会恢复到原来的位置。换句话说,用户在滑块上选择50条,发送到服务器并检索50条记录。但是滑块回到了25,因为那是它的初始值。我如何修复这个问题,使其保留存储在隐藏字段控件中的设置(或用户选择的内容)?
我在这里添加了代码:
$(document).ready(function () {
//setup slider
$('#slider').slider({
range: "max",
min: 25,
step: 25,
max: 100,
value: 75,
slide: function (event, ui) {
$('#radiusText').val(ui.value);
//set the hiddenfield for server postback of radius
$("#<%= Radius.ClientID%>").val(ui.value);
}
});
$('#radiusText').val($('#slider').slider('value'));
});发布于 2013-05-08 21:25:19
我最终在滑块调用外部设置了一个变量,该变量获取隐藏字段的值,并在隐藏字段上将初始值设置为75。
$(document).ready(function () {
var setRadius = $("#<%= Radius.ClientID%>").val();
//setup slider
$('#slider').slider({
range: "max",
min: 25,
step: 25,
max: 100,
value: setRadius,
slide: function (event, ui) {
$('#radiusText').val(ui.value);
//set the hiddenfield for server postback of radius
$("#<%= Radius.ClientID%>").val(ui.value);
}
});
$('#radiusText').val($('#slider').slider('value'));
});发布于 2013-05-08 07:15:26
查看ASP页的ispostback属性
http://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback.aspx
public string _hiddenvalue; //make it public so that you can read it
if(ispostback)
{
_hiddenvalue = Request.Form["hiddenfield"];
}然后,您所要做的就是将公共属性_hiddenvalue分配给前端的一个变量
var _slideVal = <%= _hiddenvalue %>发布于 2013-05-08 21:33:00
function SetSlider()
{
$('#slider').slider({
range: "max",
min: 25,
step: 25,
max: 100,
value: 75,
slide: function (event, ui) {
$('#radiusText').val(ui.value);
//set the hiddenfield for server postback of radius
$("#<%= Radius.ClientID%>").val(ui.value);
}
});
}在服务器端,在PageLoad事件上调用javascript函数。
if(!ispostback)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript",
"javascript:SetSlider();", true);
}如果我不能很好地理解你的问题,请告诉我。
https://stackoverflow.com/questions/16429787
复制相似问题