दिनांक पिकर Chrome 20 पर उतरा, क्या इसे निष्क्रिय करने की कोई विशेषता है? मेरा पूरा सिस्टम jQuery UI डेटपिकर का उपयोग करता है और यह क्रॉसब्रोसर है, इसलिए, मैं क्रोम देशी डेटापिक को अक्षम करना चाहता हूं। क्या कोई टैग विशेषता है?
दिनांक पिकर Chrome 20 पर उतरा, क्या इसे निष्क्रिय करने की कोई विशेषता है? मेरा पूरा सिस्टम jQuery UI डेटपिकर का उपयोग करता है और यह क्रॉसब्रोसर है, इसलिए, मैं क्रोम देशी डेटापिक को अक्षम करना चाहता हूं। क्या कोई टैग विशेषता है?
जवाबों:
तीर को छिपाने के लिए:
input::-webkit-calendar-picker-indicator{
display: none;
}
और शीघ्र छिपाने के लिए:
input[type="date"]::-webkit-input-placeholder{
visibility: hidden !important;
}
यदि आपने दुरुपयोग किया है <input type="date" />
तो आप शायद इसका उपयोग कर सकते हैं:
$('input[type="date"]').attr('type','text');
पाठ इनपुट में बदलने के लिए उन्हें लोड करने के बाद। आपको पहले अपना कस्टम डेटापिक संलग्न करना होगा:
$('input[type="date"]').datepicker().attr('type','text');
या आप उन्हें एक क्लास दे सकते हैं:
$('input[type="date"]').addClass('date').attr('type','text');
आप उपयोग कर सकते हैं:
jQuery('input[type="date"]').live('click', function(e) {e.preventDefault();}).datepicker();
jQuery('input[type="date"]').on('click', function(e) {e.preventDefault();}).datepicker();
Modernizr ( http://modernizr.com/ ) के साथ, यह उस कार्यक्षमता के लिए जाँच कर सकता है। फिर आप इसे उस बूलियन पर बाँध सकते हैं जो यह लौटाता है:
// does not trigger in Chrome, as the date Modernizr detects the date functionality.
if (!Modernizr.inputtypes.date) {
$("#opp-date").datepicker();
}
ऊपर दिए गए कोड में इनपुट तत्व का मूल्य निर्धारित नहीं किया गया है और न ही यह एक परिवर्तन घटना को आग लगाता है। नीचे दिया गया कोड Chrome और Firefox में काम करता है (अन्य ब्राउज़रों में परीक्षण नहीं किया गया है):
$('input[type="date"]').click(function(e){
e.preventDefault();
}).datepicker({
onSelect: function(dateText){
var d = new Date(dateText),
dv = d.getFullYear().toString().pad(4)+'-'+(d.getMonth()+1).toString().pad(2)+'-'+d.getDate().toString().pad(2);
$(this).val(dv).trigger('change');
}
});
पैड ज़ीरोस (आवश्यक) के साथ तार को पैड करने के लिए एक सरल कस्टम स्ट्रिंग विधि है
मैं रॉबर्टक के साथ सहमत हूं, सबसे अच्छा तरीका प्रकार = दिनांक का उपयोग नहीं करना है लेकिन मेरा JQuery मोबाइल Datepicker प्लगइन इसका उपयोग करता है। इसलिए मुझे कुछ बदलाव करने होंगे:
मैं jquery.ui.datepicker.mobile.js का उपयोग कर रहा हूं और यह परिवर्तन किए हैं:
से (लाइन 51)
$( "input[type='date'], input:jqmData(type='date')" ).each(function(){
सेवा
$( "input[plug='date'], input:jqmData(plug='date')" ).each(function(){
और फॉर्म के उपयोग में, टेक्स्ट टाइप करें और var प्लग जोड़ें:
<input type="text" plug="date" name="date" id="date" value="">
data-*
विशेषताओं का उपयोग करना है । इस स्थिति में, data-plug
इसके बजाय अपनी विशेषता को कॉल करें plug
, यह तब HTML6 / 7/8 / आदि में जोड़े गए किसी भी नए विशेषता के साथ कभी भी टकराव की गारंटी नहीं है।
मैं निम्नलिखित (कॉफ़ीस्क्रिप्ट) का उपयोग करता हूं:
$ ->
# disable chrome's html5 datepicker
for datefield in $('input[data-datepicker=true]')
$(datefield).attr('type', 'text')
# enable custom datepicker
$('input[data-datepicker=true]').datepicker()
जो सादे जावास्क्रिप्ट में परिवर्तित हो जाता है:
(function() {
$(function() {
var datefield, _i, _len, _ref;
_ref = $('input[data-datepicker=true]');
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
datefield = _ref[_i];
$(datefield).attr('type', 'text');
}
return $('input[data-datepicker=true]').datepicker();
});
}).call(this);
यह मेरे लिए काम किया:
// Hide Chrome datetime picker
$('input[type="datetime-local"]').attr('type', 'text');
// Reset date values
$("#EffectiveDate").val('@Model.EffectiveDate.ToShortDateString()');
$("#TerminationDate").val('@Model.TerminationDate.ToShortDateString()');
भले ही दिनांक फ़ील्ड का मान अभी भी था और सही है, यह प्रदर्शित नहीं हुआ। इसलिए मैं अपने दृश्य मॉडल से दिनांक मान रीसेट करता हूं।
यह मेरे लिए काम करता है:
;
(function ($) {
$(document).ready(function (event) {
$(document).on('click input', 'input[type="date"], input[type="text"].date-picker', function (e) {
var $this = $(this);
$this.prop('type', 'text').datepicker({
showOtherMonths: true,
selectOtherMonths: true,
showButtonPanel: true,
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd',
showWeek: true,
firstDay: 1
});
setTimeout(function() {
$this.datepicker('show');
}, 1);
});
});
})(jQuery, jQuery.ui);
यह सभी देखें:
मैं नए Chrome HTML5 डेट इनपुट को कैसे निष्क्रिय कर सकता हूं?
http://zizhujy.com/blog/post/2014/09/18/Add-date-picker-to-dynamically-generated-input-elements.aspx
मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैं अभी इस बारे में जानकारी पाने के लिए यहां उतरा हूं, इसलिए कोई और भी हो सकता है।
आप यह पता लगाने के लिए माडर्निज़्र का उपयोग कर सकते हैं कि क्या ब्राउज़र एचटीएमएल 5 इनपुट प्रकारों का समर्थन करता है, जैसे 'तारीख'। यदि ऐसा होता है, तो उन नियंत्रणों का उपयोग देशी व्यवहार का उपयोग करके तारीखों जैसी चीजों को प्रदर्शित करने के लिए किया जाएगा। यदि ऐसा नहीं होता है, तो आप निर्दिष्ट कर सकते हैं कि अपनी स्वयं की तारीख को प्रदर्शित करने के लिए किस स्क्रिप्ट का उपयोग किया जाना चाहिए। मेरे लिए अच्छा काम करता है!
मैंने अपने पेज में jquery-ui और Modernizr को जोड़ा, फिर इस कोड को जोड़ा:
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(initDateControls);
initDateControls();
function initDateControls() {
//Adds a datepicker to inputs with a type of 'date' when the browser doesn't support that HTML5 tag (type=date)'
Modernizr.load({
test: Modernizr.inputtypes.datetime,
nope: "scripts/jquery-ui.min.js",
callback: function () {
$("input[type=date]").datepicker({ dateFormat: "dd-mm-yy" });
}
});
}
</script>
इसका अर्थ है कि क्रोम में देशी डेटापार्क प्रदर्शित किया गया है, और jquery-ui एक IE में प्रदर्शित किया गया है।
Laravel5 के लिए चूंकि एक उपयोग करता है
{!! फॉर्म :: इनपुट ('तारीख', 'तारीख_स्टार्ट', अशक्त, ['वर्ग' => 'फॉर्म-नियंत्रण', 'आईडी' => 'तारीख_स्टार्ट', 'नाम' => 'तारीख_स्टार्ट'])} !!
=> Chrome अपनी तारीख को लागू करेगा। => यदि आप इसे सीएसएस के साथ ले जाते हैं तो आपको सामान्य स्वरूपण त्रुटियां मिलेंगी !! (निर्दिष्ट मान आवश्यक प्रारूप के अनुरूप नहीं है, "yyyy-MM-dd"।)
समाधान:
$ ( 'इनपुट [प्रकार = "तारीख"]') attr ( 'प्रकार', 'पाठ')।
$("#date_start").datepicker({
autoclose: true,
todayHighlight: true,
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true,
viewMode: 'months'
});
$("#date_stop").datepicker({
autoclose: true,
todayHighlight: true,
dateFormat: 'dd/mm/yy',
changeMonth: true,
changeYear: true,
viewMode: 'months'
});
$( "#date_start" ).datepicker().datepicker("setDate", "1d");
$( "#date_stop" ).datepicker().datepicker("setDate", '2d');