2012-03-23 4 views
4

Ich habe auch versucht .('refresh') und .page() vergeblich.Jquery mobile Trigger erstellen nicht aktualisieren Schieberegler Taste Ort

Die Textbox aktualisiert sich, aber nicht die Position des Schiebereglers. Sobald Sie sie berühren, fällt der Wert wieder ab. Sie können dieses Verhalten sehen hier: http://www.webeshoppin.info/st0.html

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <title>Tax</title> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.css" /> 
    <link href="css/tax.css" rel="stylesheet" type="text/css" /> 
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.1.0-rc.1/jquery.mobile-1.1.0-rc.1.min.js"></script> 
</head> 
<body> 
<div id="page2" data-role="page" data-add-back-btn="true"> 
    <div data-role="header"> 
     <h4> The Proposed</h4> 
     <a href="#decisions" data-icon="arrow-r" data-role="button" id="joinls">next</a> 
    </div><!-- /header --> 
    <div data-role="content"> 
     <h5>Ducks are Fum</h5> 
     <div>  
      <input type="range" min="0" max="150" id="inp1" value="34"/> 
     </div> 
     <div> 
      <a id="but1" href="#" data-role="button" data-mini="true" >but1</a> 
     </div> 
     <div id="txthere"></div> 
    </div> 
</div>  
</body> 
</html> 

<script> 
var data =87; 
$('#page2').live('pageinit', function(event) {  

    $("#inp1").val(data).trigger('create'); 
    $("#but1").click(function (e) {  
     data +=1; 
     console.log(data); 
     $("#txthere").append(data+'<br/>'); 
    });  
    $("#inp1").change(function(e){ 
     data = Number($(this).val()); 
     console.log(data); 
     $("#txthere").append(data+'<br/>'); 
    });  
}); 
</script> 

Antwort

5

Sie .slider('refresh') verwenden sollten, um das Widget anstatt .trigger('create') zu aktualisieren, die einen nicht initialisierten Widget zu initialisieren gemeint ist.

Refresh Update der Schieber

Wenn Sie einen Schieberegler über JavaScript manipulieren, müssen Sie die Refresh- Methode nennen es das visuelle Design zu aktualisieren.

$ ('. Selector'). Slider ('refresh');

Quelle: http://jquerymobile.com/demos/1.1.0-rc.1/docs/forms/slider/methods.html

Hier ist eine Demo: http://jsfiddle.net/s63pt/