2013-05-12 5 views
5

मैं कोणीय के लिए बहुत नया हूं और दिमाग में एक विशिष्ट उपयोग केस है मेरे पास एक फॉर्म है जिसमें दो फ़ील्ड हैं - नाम और डेटाटाइम।कोणीय (निर्देशक नौसिखिया): ngModel को दिनांक समय-पिकर कैसे जोड़ें ताकि इसे सत्यापित किया जा सके?

नाम एनजी मॉडल है, लेकिन datetime नहीं है, क्योंकि यह कोणीय का हिस्सा नहीं है और एक jQuery घटक

मुझे क्या करना चाहते हैं?
यहाँ plunker है = http://plnkr.co/edit/wGrvXAFmPGoYSwh9GfxH?p=preview

एक।) मैं ngModel = "transaction.date"
ख।) यह मान्य की तरह आवश्यक कोणीय तरीका का उपयोग कर

कुछ के रूप में ngModel करने के लिए तिथि संबद्ध करना चाहते हैं जो दिखता है (एंगुलर की तरह)

<input type="text" name="transactionDate" ng-model="transaction.date" data-date-format="yyyy-mm-dd hh:ii" required> 

क्यों?
एक।) बातें कोणीय रास्ता
ख।) यह मॉडल अधिक परीक्षण करने के लिए संगत बनाता है करने के लिए, को मान्य

मैं Stackoverflow पर इस प्रश्न पूछा और यह कस्टम निर्देश का उपयोग करने की सिफारिश की थी, किसी ने मेरे साथ दिशा दे सकते हैं उदाहरण के लिए यह कैसे करें?

कृपया मुझे आगे मार्गदर्शन के बाद से मैं यह प्रमाणित करने के लिए सक्षम नहीं हूँ वर्तमान में

आपको बहुत बहुत

उत्तर

9

केतन के उत्तर के आधार पर, मुझे एक नया निर्देश लिखना पड़ा और मूल्य प्रारूप jQuery को एनजी-मॉडल से जोड़ना पड़ा, जिसे फिर फॉर्म के साथ मान्य किया गया। निर्देश लग रहा है

तरह
app.directive('dateTime', function(){ 
    return { 
    restrict: 'A', 
    require: '?ngModel', 
    link: function(scope, element, attrs, ngModel){ 
     if (!ngModel) { 
     console.log('no model, returning'); 
     return; 
     } 

     element.bind('blur keyup change', function() { 
     console.log('datetime changed: ', $('.form_datetime input').val()); 
     scope.$apply(read); 
     }); 

     read(); 

     function read() { 
     ngModel.$setViewValue(element.val()); 
     } 
    } 
    } 
}); 

plunker पाया जा सकता है here

3

मान लें कि आप जानते हैं कि कैसे निर्देशों लिखने के लिए, आप NgModelController अपने निर्देश के अंदर का उपयोग करें और $setViewValue(value) उपयोग करने की आवश्यकता धन्यवाद तरीका। (नीचे दिए गए पेज का उदाहरण देखें)।

http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController

यह अपने कस्टम Datepicker घटना है जो चलाता है जब उपयोगकर्ता चयन पूरा करता है से बुलाया जाना चाहिए।

+0

धन्यवाद, मैं अपने जवाब अद्यतन! – daydreamer

+0

कूल। यदि यह आपके लिए काम करता है तो कृपया उत्तर स्वीकार करें। धन्यवाद। – Ketan

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

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