2015-05-11 7 views
5

मेरे पास बूटस्ट्रैप मोडल है और इसके अंदर, मेरे पास टैगिंग के लिए ui-select है। यहाँ मेरी उदाहरण है:यूई-चयन के क्लिक करने योग्य क्षेत्र 10px बूटस्ट्रैप मोडल

<div class="modal modal-invite"> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 
      <span aria-hidden="true">&times;</span> 
     </button> 
     </div> 
     <div class="modal-body"> 
     <ui-select multiple tagging tagging-label="" ng-model="email_list" theme="bootstrap" ng-disabled="disabled" on-select="" on-remove="" title="Insert your friends email here." > 
      <ui-select-match placeholder="Your friends email here...">{{$item}}</ui-select-match> 
      <ui-select-choices repeat="email in email_list | filter:$select.search"> 
      {{email}} 
      </ui-select-choices> 
     </ui-select> 
     </div> 
     <div class="modal-footer"> 
     <button class="btn btn-success">Invite</button> 
     </div> 
    </div> 
    </div> 
</div> 

मेरे समस्या है: जब मैं $('modal-invite').modal('show') साथ मोडल खोलने, प्लेसहोल्डर (और क्लिक करने योग्य क्षेत्र) का आकार इस तरह, 10 पिक्सेल है:

10px sized placeholder

Google Chrome inspector

उस पर क्लिक करने के बाद, यह सही चौड़ाई प्राप्त करता है।
मोडल खोलने पर मैं ui-select अपने आकार को रीफ्रेश कैसे कर सकता हूं?

+0

आप मोडल खुले कॉलबैक में ui का चयन प्रारंभ डाल करने की कोशिश की? ऐसा लगता है कि जब पहली बार मोडल खोला जाता है तो यूई-चयन अभी तक शुरू नहीं हुआ है। –

+1

@DmitryS ठीक है, शायद मुझे समाधान मिला। मैंने कोशिश की: '$ ('मोडल-आमंत्रण')। मोडल ('शो')' और फिर '$ स्कोप। $ आवेदन(); ', और यह काम करता प्रतीत होता है! – ProGM

+0

शायद क्योंकि, दिमित्री की तरह, यूई-चयन तब तक प्रदर्शित नहीं होता है जब पृष्ठ लोड होता है। – eHx

उत्तर

2

अंततः मैंने यूई-चयन स्रोतों की जांच करने का हल किया।
ऐसा लगता है कि यूई-चयन माता-पिता की चौड़ाई पर $watch के साथ इनपुट आकार को पुन: गणना करता है।

तो, ताकि इसे ताज़ा करने के लिए में, मैं इस तरह किया:

$('.modal-invite').modal('show'); 
$scope.$apply(); 
+0

मुझे एक ही समस्या है। एक div को कॉल करना जिसमें बटन के क्लिक से ui-select है।

। सुनिश्चित नहीं है कि $ scope कब कॉल करें। $ आवेदन करें() –

0

मैं simular समस्या थी।

मुझे पता है कि एक स्रोत फ़ाइल को बदलने का अच्छा अभ्यास नहीं है, और किसी भी तरह से इसे अपने कोड से लक्षित करना बेहतर होगा - लेकिन अब के लिए मैंने स्रोत कोड में एक पंक्ति को टिप्पणी करके इसे ठीक किया है जो इनपुट फ़ील्ड को सेट करता है 10px जब यह टैग प्रतिपादन।

स्रोत select.js फ़ाइल में लाइन 831 में, बाहर टिप्पणी: ctrl.searchInput.css('width', '10px');

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