JQuery-Mobile UI DatePicker Установка конкретной даты по умолчанию - PullRequest
1 голос
/ 08 мая 2011

У меня возникают проблемы при попытке установить дату по умолчанию в датчике пользовательского интерфейса JQuery Mobile.

Может кто-нибудь помочь?

Вот полный исходный код:

<!DOCTYPE html> 
<html> 
    <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1"> 
    <title>jQuery Mobile Framework - Datepicker</title> 
    <link rel="stylesheet"  href="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.css" />
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
     <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js"></script>
    <link rel="stylesheet"  href="jquery.ui.datepicker.mobile.css" /> 

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

    <script src="jQuery.ui.datepicker.js"></script>
    <script src="jquery.ui.datepicker.mobile.js"></script>
<script type="text/javascript">
$(document).ready(function() { 
var queryDate = new Date();
queryDate.setFullYear(2009,11,01);
$('#date').datepicker({defaultDate: queryDate});


   });
  </script>

</head> 
<body> 

<div data-role="page">

    <div data-role="header">
        <h1>jQuery UI's Datepicker Styled for mobile</h1>       
    </div>

    <div data-role="content">
        <p>The included files extend the jQuery UI datepicker to make it suitable for touch devices. This plugin is not included in jQuery Mobile by default, so you'll need to include the files yourself if you'd like to use them. Scroll down for usage instructions.</p>

        <form action="#" method="get">
            <div data-role="fieldcontain">
                <label for="date">Date Input:</label>
                <input type="date" name="date" id="date" value=""  />
            </div>      
        </form>


        <h2>Usage Instructions</h2>

        <p>The datepicker auto-generates from a regular <code>input</code> element with a <code>type="date"</code> attribute.</p>

        <pre><code>
&lt;label for=&quot;date&quot;&gt;Date Input:&lt;/label&gt;
&lt;input type=&quot;date&quot; name=&quot;date&quot; id=&quot;date&quot; value=&quot;&quot;  /&gt;     
        

Мы рекомендуем обернуть метку и ввод в поле fieldcontain div для целей презентации, и эти элементы должны быть помещены в элемент form для доступности браузера C-Grade.

Примечание: Этот плагин по умолчанию не включен в jQuery Mobile, поэтому для его использования вам нужно будет включить следующие файлы:


  &lt;link rel=&quot;stylesheet&quot; href=&quot;jquery.ui.datepicker.mobile.css&quot; /&gt; 
  &lt;script src=&quot;jQuery.ui.datepicker.js&quot;&gt;&lt;/script&gt;
  &lt;script src=&quot;jquery.ui.datepicker.mobile.js&quot;&gt;&lt;/script&gt;

Вы также захотите настроить плагин страницы для конвертацииЭлементы ввода «date» для «текстовых» входов после того, как они были улучшены с помощью нашего средства выбора даты, так что ни один собственный инструмент выбора даты не будет конфликтовать с пользовательским, который мы добавляем.Чтобы сделать это, привяжите к событию «mobileinit» и установите типы ввода «date» обратно в текст, используя опции плагина страницы:

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

Обязательно поместите эту привязку события в скрипт, который загружается послеJQuery, но до того, как jQuery Mobile.Проверьте источник этой страницы для примера.

Спасибо

Ответы [ 2 ]

2 голосов
/ 08 мая 2011

Вы должны сделать:

$(document).ready(function() { 
  var queryDate = new Date(2009,11,01);
  $('#date').datepicker({defaultDate: queryDate});
});

И это все.

Надеюсь, это поможет Cheers

0 голосов
/ 18 января 2018

Если вы хотите установить как календарную дату, так и дату ввода текста, это единственное решение, которое я нашел:

$.datepicker.formatDate('dd/mm/yyyy'); // my data format
var d = new Date(); // today or other date
var curr_date = ("0" + (d.getDate())).slice(-2); // two digits day
var curr_month =("0" + (d.getMonth()+1)).slice(-2); // two digits month
var curr_year = d.getFullYear();
$('#myDatePickerControl').datepicker({defaultDate: d}); // set input text
$('#myDatePickerControl').val(curr_date+'/'+curr_month+'/'+curr_year); // set calendar control
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...