Framework7 - Selecionador Inline / Data-hora
Descrição
Você pode selecionar o número de valores no seletor embutido. Como a data tem data, mês, ano e hora tem horas, minutos, segundos .
Exemplo
O exemplo a seguir demonstra o uso de Inline Picker / Date-time no Framework7 -
<!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>
Resultado
Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -
Salve o código HTML fornecido acima como inline_pickerDate_time.html arquivo na pasta raiz do servidor.
Abra este arquivo HTML como http: //localhost/inline_pickerDate_time.html e a saída é exibida conforme mostrado abaixo.
O código pode ser usado para selecionar data, mês, ano para data e horas, minutos e segundos para hora.