Изменение параметров выбора даты в jQuery Mobile - PullRequest
1 голос
/ 05 мая 2011

Я использую элемент управления выбора даты jQuery Mobile, но не могу изменить ни одно из свойств. Например, следующий код попытается установить для первого дня недели среду в функции готовности документа, но она не работает.

<!DOCTYPE html> 
<html> 
    <head> 
        <title>Test</title> 
        <link rel="stylesheet" href="jquery.mobile-1.0a4.1.min.css" />
        <link rel="stylesheet" href="jquery.ui.datepicker.mobile.css" /> 
        <script type="text/javascript" src="jquery-1.5.2.min.js"></script>
        <script type="text/javascript" src="jquery.mobile-1.0a4.1.min.js"></script>
        <script src="jquery.ui.datepicker.js"></script>
        <script src="jquery.ui.datepicker.mobile.js"></script>

        <script> 
        $(document).ready(function()
        {
            $("#date").datepicker({ firstDay: 3 });
        });
        </script>       
    </head> 
    <body>
    <div data-role="page" data-theme="b" id="home">
        <div data-role="header">
            <h1>Test</h1>
        </div>
        <div data-role="content" data-theme="b">
            <div data-role="fieldcontain">
                <input type="date" name="date" id="date" value="" />
            </div>
        </div>
    </div>
    </body>
</html>

Есть идеи, что я делаю не так? Это не работает, потому что средство выбора даты уже отображается?

Ответы [ 4 ]

1 голос
/ 01 августа 2011

Мне удалось изменить, чтобы изменить свойства, изменив файл "jquery.ui.datepicker.mobile.js"

Чтобы изменить формат даты на: "дд / мм / гг", код показан ниже

//bind to pagecreate to automatically enhance date inputs   
$( ".ui-page" ).live( "pagecreate", function(){     
    $( "input[type='date'], input[data-type='date']" ).each(function(){
        $(this).after($("<div />").datepicker({ altField: "#" + $(this).attr("id"), showOtherMonths: true, dateFormat: "dd/mm/yy" }));
    }); 
});
0 голосов
/ 05 мая 2011

Вы пропустили привязку ()

  //reset type=date inputs to text
  $( document ).bind( "mobileinit", function(){
      $.mobile.page.prototype.options.degradeInputs.date = true;
  });

Документы (внизу страницы): http://jquerymobile.com/demos/1.0a4.1/experiments/ui-datepicker/

Также мне нравится DateBox, немного лучше IMO: http://dev.jtsage.com/jQM-DateBox/

0 голосов
/ 05 мая 2011

У меня была похожая проблема, и мне пришлось изменить две строки в jquery.ui.datepicker.mobile.js

Сначала мне нужно было сохранить возвращаемое значение вызова в prevDp (строка 18).

var value = prevDp.call( this, options );

Затем я должен был вернуть это значение вместо этого (строка 46)

return value;

Теперь у вас должна быть возможность вызывать средство выбора даты с помощью опций, предложенных Мэттом Боллом.

0 голосов
/ 05 мая 2011

Что произойдет, если вы попробуете другой сеттер?

$('.selector').datepicker('option', 'firstDay', 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...