2011-11-20 12 views
6

मैं अपने फॉर्म के क्षेत्र में से एक के लिए jQuery की दिनांक पिकर का उपयोग कर रहा हूं - जन्म तिथि।jQuery दिनांक पिकर मूल पाठ मान नहीं दिखाता

फ़ील्ड PHP का उपयोग करके उत्पन्न किया गया है और उपयोगकर्ता की जन्म तिथि की मूल तिथि के साथ पॉप्युलेट किया जाएगा। फ़ील्ड पर क्लिक करने से विजेट लाता है, जो यह पूरी तरह ठीक है।

हालांकि, टेक्स्टबॉक्स मूल मान नहीं दिखाता है, भले ही यह ब्राउज़र के स्रोत कोड में दिखाई देता है। मैं Google क्रोम का उपयोग कर रहा हूँ।

$(function() 
{ 
    $("#DatePicker").attr("readonly","readonly"); 

    $("#DatePicker").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     yearRange: "1950:+10" 
    }); 

    $("#DatePicker").datepicker("option","dateFormat","dd MM yy"); 
}); 

इस PHP कोड है:

echo "<INPUT TYPE=\"TEXT\" NAME=\"$FieldName\" VALUE=\"$OriginalData\" ID=\"DatePicker\" CLASS=\"FullLength\">"; 

और निम्न HTML कोड (स्रोत कोड से नकल) है:

<INPUT TYPE="TEXT" NAME="DateOfBirth" VALUE="18 August 2012" ID="DatePicker" CLASS="FullLength"> 

निम्नलिखित jQuery कोड है

कृपया मुझे बताएं कि क्या गलत है। धन्यवाद।

+0

इसे सामान्य jQuery दिनांक पिकर के साथ अभी कोशिश की और पुन: उत्पन्न नहीं कर सकता। संभवतः आपके पास कुछ अन्य कोड (या तो सर्वर साइड या क्लाइंट साइड) मूल्य को ओवरराइट कर रहा है और इसे साफ़ कर रहा है। –

+0

@ShadowWizard: जांचें [यह डेमो] (http://jsfiddle.net/z7YJ5/1/) वीएस [यह एक] (http://jsfiddle.net/z7YJ5/2/)। यह क्षेत्र को साफ़ करता है और ऐसा लगता है जैसे यह एक और डेटपिकर बनाता है। मुझे शायद कुछ याद आ रहा है (केवल दस्तावेज़ों की तुरंत जांच की गई), लेकिन मैं वास्तव में ओपी के कोड को काम करने की उम्मीद करता। यदि आप कुछ जानते हैं तो चीम, मुझे रूचि है। –

+0

@ मैडमर्टिगन अच्छी पकड़, डबल डेटपिकर उपयोग को नोटिस नहीं किया - उनके कोड में बग की तरह लगता है, एक बार से अधिक बार कॉल करने की उम्मीद नहीं है। सभी विकल्पों को एक ही कॉल में दिया जाना चाहिए, इसमें कोई हानि नहीं है। –

उत्तर

4

के पाठ बॉक्स पाठ दृश्यता मुझे यकीन है कि क्यों नहीं कर रहा हूँ स्थापित करने के लिए एक विकल्प है है, लेकिन इस लाइन मूल्य समाशोधन है:

$("#DatePicker").datepicker({ 
    changeMonth: true, 
    changeYear: true, 
    dateFormat: "dd MM yy" 
}); 
+0

ओह ने काम किया। आपका बहुत बहुत धन्यवाद!!!=) –

+0

यह केवल पूर्व-जनसंख्या वाली तारीख को प्रदर्शित करने के लिए काम करता है, लेकिन जब कोई नई तिथि चुनी जाती है तो प्रारूप के लिए नहीं – Graham

1

अगर इसकी एक ब्राउज़र संगतता मुद्दे की जांच करने के Firefox जैसे किसी अन्य ब्राउज़र का उपयोग कर प्रयास करें, php के बारे में है, लेकिन asp.net पर यकीन नहीं अपने सच्चे

+0

मेरे मामले में यह एक संगतता मुद्दा था। क्रोम और सफारी पर काम करना, लेकिन फ़ायरफ़ॉक्स पर नहीं। – J0ANMM

1

:

$("#DatePicker").datepicker("option","dateFormat","dd MM yy"); 

कोशिश यह यदि संभव हो तो, फायरफॉक्स और क्रोम में worked for me की तरह विकल्प जोड़ने इनपुट इनपुट को सीधे सेट करने के बजाय आपको setDate का उपयोग करना चाहिए।

$("#birthday").datepicker() 
.datepicker("option", "dateFormat", 'dd.mm.yy') 
.datepicker('setDate', '<?= $humanoid->getBirthday()->format('d.m.Y') ?>'); 
+0

यह वह है जो ठीक से काम करता है - स्वीकृत उत्तर नहीं – Graham

0

Nik के जवाब के आधार पर यह कैसे मैं इसे "सभी जावास्क्रिप्ट"

$(".popup-date").each(function(){ 
    var ele = $(this); 
    var v = ele.val(); 
    ele.datepicker().datepicker("option", "dateFormat", "dd-M-yy").datepicker("setDate", v); 
    }); 

स्वीकार किए जाते हैं जवाब केवल आधा समस्या का हल में काम मिल गया है। मान प्रदर्शित करता है, लेकिन दिनांक पिकर द्वारा उठाए जाने के बाद की तारीख का प्रारूप गलत है।

मेरा उदाहरण एक अलग दिनांक प्रारूप (उदाहरण के लिए 01-Sep-2014) का उपयोग करता है क्योंकि मैंने अभी कोड को कॉपी किया है जिसे मैं अंततः काम करने के लिए मिला था। मुझे तत्व और मूल्य प्राप्त करने में भी इसे तोड़ना पड़ा क्योंकि यह लाइन में जब सबसे अच्छा था।

संबंधित मुद्दे