2012-01-19 54 views
1

所以我在我的頁面上實現了一個Jquery UI滑塊。滑動條的值作爲參數提供給sql數據源。在點擊一個按鈕時,參數被輸入到數據源中,屏幕上的網格視圖重新綁定。問題是,我希望滾動條保持其位置,以便用戶知道什麼值作爲它們當前正在查看的gridview的參數輸入。如何使jQuery UI滑塊在回發上保持滾動位置

這裏是我的滾動條代碼:

<!--Slider bar for investment--> 

<div style="float:right;"> 
<script type = "text/javascript"> 

    $(function() { 
     $("#slider").slider({ 
      value: 100, 
      min: 1, 
      max: 200, 
      step: 1, 
      slide: function (event, ui) {      
       $("#hiddenInvestment").val(ui.value); 
      } 
     }); 
     $("#hiddenInvestment").val($("#slider").slider("value")); 
    });   
    </script> 

<div class="demo"> 
<p> 
<asp:label runat="server" id="amountlabel" >Investment:  
</asp:label>  
<input name="hiddenInvestment" id="hiddenInvestment" /> 
<asp:Label runat="server" ID="percentlabel">%</asp:Label> 
</p> 
<div id="Div1"></div> 
</div> 
<div class="demo" style="width:100px;"> 
<div id="slider"></div> 
</div> 

,我想我需要改變的線是「價值:100」,但我不知道我需要改變它。有什麼建議麼?

回答

2

您可以在頁面上有一個隱藏字段。之前submitformpostback設置此隱藏字段值爲slider值。在初始化slider時,在頁面加載時,請從此hidden字段中讀取初始值。試試這個

$(function() { 
    $("#slider").slider({ 
     value: ($('#sliderVale').val() || 100), 
     min: 1, 
     max: 200, 
     step: 1, 
     slide: function (event, ui) {      
      $("#hiddenInvestment").val(ui.value); 
     } 
    }); 
    $("#hiddenInvestment").val($("#slider").slider("value")); 
}); 


$('form').submit(function(){ 
    $('#sliderVale').val($("#slider").slider("value")); 
});  
+0

感謝Shankar對此建議。我絕對認爲它是正確的方法,但仍然存在一個問題。我使用了一個輸入作爲隱藏字段#sliderVale,它似乎也在回發中刷新,因此它返回到null,並且滑塊的值默認爲100.有關此原因的任何建議? – TBK

+0

nm我沒有使用隱藏的字段屬性。這非常感謝你的幫助 – TBK