Framework7-inline-pickerDate-time

提供:Dev Guides
移動先:案内検索

Framework7-インラインピッカー/日時

説明

インラインピッカーで値の数を選択できます。 日付には_date、month、year_があり、timeには_hours、minutes、seconds_があります。

次の例は、Framework7での_Inline Picker/Date-time_の使用を示しています-

<!DOCTYPE html>
<html>

   <head>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1,
         maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui"/>
      <meta name = "apple-mobile-web-app-capable" content = "yes"/>
      <meta name = "apple-mobile-web-app-status-bar-style" content = "black"/>
      <title>Inline Picker/Date-time</title>
      <link rel = "stylesheet"
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css"/>
      <link rel = "stylesheet"
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css"/>
   </head>

   <body>
      <div class = "views">
         <div class = "view view-main">
            <div class = "pages">
               <div data-page = "home" class = "page navbar-fixed">

                  <div class = "navbar">
                     <div class = "navbar-inner">
                        <div class = "left"> </div>
                        <div class = "center">Picker</div>
                        <div class = "right"> </div>
                     </div>
                  </div>

                  <div class = "page-content">
                     <div class = "content-block-title">Inline Picker/Date-time</div>
                     <div class = "content-block">
                        <div style = "padding:0; margin-right:-15px; width:auto" class = "content-block-inner">

                           <div style = "margin:0" class = "list-block">
                              <ul style = "border-top:none">
                                 <li>
                                    <div class = "item-content">
                                       <div class = "item-inner">
                                          <div class = "item-input">
                                             <input type = "text" placeholder = "Date Time"
                                                readonly id = "picker-date"/>
                                          </div>
                                       </div>
                                    </div>
                                 </li>
                              </ul>
                           </div>

                           <div id = "picker-date-container"></div>
                        </div>
                     </div>
                  </div>

               </div>
            </div>
         </div>
      </div>

      <script type = "text/javascript"
         src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>

      <style>
         .swiper-slide {
            background:#fff;
            box-sizing:border-box;
            border:1px solid #ccc;
            line-height:120px;
            text-align:center;
         }

         .swiper-slide span {
            font-size:17px;
         }

         .swiper-container {
            height:120px;
            margin:0px 0 35px;
         }
      </style>

      <style>
         #picker-date-container .picker-item {
            color:#999;
         }

         #picker-date-container .picker-selected {
            color:#000;
         }

         @media (max-width: 767px) {
            #picker-date-container .picker-items {
               font-size:21px;
            }

            #picker-date-container .picker-item {
               height:36px;
               line-height:36px;padding:0 6px;
            }
         }
      </style>

      <script>
         var myApp = new Framework7();

        //Inline date-time
         var today = new Date();
         var pickerInline = myApp.picker ({
            input: '#picker-date',
            container: '#picker-date-container',
            toolbar: false,
            rotateEffect: true,
            value: [
               today.getMonth(),
               today.getDate(),
               today.getFullYear(),
               today.getHours(),
               (today.getMinutes() < 10 ? '0' + today.getMinutes() : today.getMinutes())
            ],

            onChange: function (picker, values, displayValues) {
               var daysInMonth = new Date(picker.value[2], picker.value[0]*1 + 1, 0).getDate();

               if (values[1] > daysInMonth) {
                  picker.cols[1].setValue(daysInMonth);
               }
            },

            formatValue: function (p, values, displayValues) {
               return displayValues[0] + ' ' + values[1] + ', ' + values[2] + ' ' + values[3] + ':' + values[4];
            },

            cols: [
              //Months
               {
                  values: ('0 1 2 3 4 5 6 7 8 9 10 11').split(' '),
                  displayValues: ('January February March April May June July August September October November December').split(' '),
                  textAlign: 'left'
               },

              //Days
               {
                  values: [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31],
               },

              //Years
               {
                  values: (function () {
                     var arr = [];
                     for (var i = 1950; i <= 2030; i++) { arr.push(i); }
                     return arr;
                  })(),
               },

              //Space divider
               {
                  divider: true,
                  content: '  '
               },

              //Hours
               {
                  values: (function () {
                     var arr = [];
                     for (var i = 0; i <= 23; i++) { arr.push(i); }
                     return arr;
                  })(),
               },

              //Divider
               {
                  divider: true,
                  content: ':'
               },

             //Minutes
               {
                  values: (function () {
                     var arr = [];
                     for (var i = 0; i <= 59; i++) { arr.push(i < 10 ? '0' + i : i); }
                     return arr;
                  })(),
               }
            ]
         });
      </script>
   </body>

</html>

出力

上記のコードがどのように機能するかを確認するために次の手順を実行してみましょう-

  • 上記のHTMLコードを inline_pickerDate_timel ファイルとしてサーバーのルートフォルダーに保存します。
  • このHTMLファイルをhttp://localhost/inline_pickerDate_timelとして開くと、出力は以下のように表示されます。
  • このコードを使用して、日付と時間に日付、月、年、時間に分、秒を選択できます。