2013-05-07 55 views
2

我使用的jQuery UI滑塊沒有任何其他麻煩:我有一個ASP.NET隱藏字段,用於存儲用戶使用滑塊選擇的任何內容。說25或50.我需要該服務器控件,以便在執行其他步驟後使用它的值。它可以工作,但是當頁面執行回發時,滑塊會恢復到原來的位置。換句話說,用戶在滑塊上選擇50,到服務器的帖子就會出來並檢索50條記錄。但滑塊可以回到25,因爲這是它的初始值。我該如何解決這個問題,使其保存在隱藏字段控件(或用戶選擇的內容)中?jQuery Slider在回發中維護價值

我加入這裏的代碼:

$(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')); 


    }); 

回答

1

我最終設置了一個滑塊調用的外部變量來獲取隱藏字段的值,並將該初始值設置爲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')); 
    }); 
+0

謝謝!這是一個很好的答案! – Greesemonkey3 2014-03-12 13:46:42

0
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); 
} 

讓我知道如果我不明白你的問題很好。