Мобильный триггер Jquery создает, не обновляя расположение кнопки ползунка - PullRequest
4 голосов
/ 24 марта 2012

Я также пробовал .('refresh') и .page() безрезультатно.

Текстовое поле обновляется, но не положение ползунка, поэтому, как только вы коснетесь его, значение снова упадет. Вы можете увидеть это поведение здесь: 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>

1 Ответ

5 голосов
/ 24 марта 2012

Вы должны использовать .slider('refresh') для обновления виджета, а не .trigger('create') который предназначен для инициализации неинициализированного виджета.

Обновить Обновить слайдер

Если вы управляете ползунком с помощью JavaScript, вы должны вызвать обновление метод для обновления визуального стиля.

$ ( 'селектор ') слайдер (' Обновить');.

Источник: http://jquerymobile.com/demos/1.1.0-rc.1/docs/forms/slider/methods.html

Вот демоверсия: http://jsfiddle.net/s63pt/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...