तो यहाँ मेरा समाधान है (जॉन वेंस के जवाब के समान):
सबसे पहले यहां जाएं और मोबाइल ब्राउज़रों का पता लगाने के लिए एक फ़ंक्शन प्राप्त करें।
http://detectmobilebrowsers.com/
आपके पास यह पता लगाने के लिए बहुत सारे तरीके हैं कि क्या आप मोबाइल पर हैं, इसलिए एक ऐसा खोजें जो आपके द्वारा उपयोग किए जा रहे कार्यों के साथ काम करता हो।
आपका HTML पृष्ठ (छद्म कोड):
If Mobile Then
<input id="selling-date" type="date" placeholder="YYYY-MM-DD" max="2999-12-31" min="2010-01-01" value="2015-01-01" />
else
<input id="selling-date" type="text" class="date-picker" readonly="readonly" placeholder="YYYY-MM-DD" max="2999-12-31" min="2010-01-01" value="2015-01-01" />
JQuery:
$( ".date-picker" ).each(function() {
var min = $( this ).attr("min");
var max = $( this ).attr("max");
$( this ).datepicker({
dateFormat: "yy-mm-dd",
minDate: min,
maxDate: max
});
});
इस तरह से आप अभी भी मोबाइल में नेटिव डेट सिलेक्टर्स का उपयोग कर सकते हैं, जबकि अभी भी मिनिमम और मैक्सिमम डेट सेट कर रहे हैं।
गैर मोबाइल के लिए फ़ील्ड को केवल इसलिए पढ़ा जाना चाहिए क्योंकि अगर आईओएस के लिए क्रोम जैसे मोबाइल ब्राउज़र "डेस्कटॉप संस्करण का अनुरोध करता है" तो वे मोबाइल की जांच कर सकते हैं और आप अभी भी कीबोर्ड को दिखाने से रोकना चाहते हैं।
हालाँकि यदि फ़ील्ड को केवल पढ़ा जाता है, तो वह उपयोगकर्ता को देख सकता है जैसे कि वे फ़ील्ड को बदल नहीं सकते। आप सीएसएस को बदलकर इसे ठीक कर सकते हैं जैसे कि यह केवल पढ़ने के लिए नहीं है (यानी सीमा-रंग को काले में बदलें) लेकिन जब तक आप सभी इनपुट टैग के लिए सीएसएस नहीं बदल रहे हैं तब तक आपको लुक को लगातार बनाए रखना मुश्किल होगा। ब्राउज़रों।
यह समझने के लिए कि मैं अभी तारीख पिकर के लिए कैलेंडर छवि बटन जोड़ता हूं। बस अपना JQuery कोड थोड़ा बदलें:
$( ".date-picker" ).each(function() {
var min = $( this ).attr("min");
var max = $( this ).attr("max");
$( this ).datepicker({
dateFormat: "yy-mm-dd",
minDate: min,
maxDate: max,
showOn: "both",
buttonImage: "images/calendar.gif",
buttonImageOnly: true,
buttonText: "Select date"
});
});
नोट: आपको एक उपयुक्त छवि ढूंढनी होगी।