2012-12-19 13 views
7

एक ड्रॉप डाउन मेनू में, मैं प्रत्येक विकल्प एक उदाहरण के रूप में नीचे की तरह दिखाया गया हैअलग-अलग पाठ इनपुट में फोरनाम और उपनाम कैसे प्रदर्शित करें?</p> <p><code>scomp23 - Jack Turner</code></p> नीचे इस कोड के साथ <p>अब:

var text = $(this).find('option:selected').text(); 
var split = text.split(' - '); 
$('#currentAdminAlias').val(split[0]);  
$('#currentAdminForename').val(split[1]); 
$('#currentAdminSurname').val(split[2]); 

प्रदर्शन scomp23 मैं क्या करने की कोशिश कर रहा हूँ #currentAdminAlias टेक्स्ट इनपुट (यह ठीक काम करता है) #currentAdminForename टेक्स्ट इनपुट में Jack प्रदर्शित करें और #currentAdminSurname टेक्स्ट इनपुट में Turner प्रदर्शित करें।

मेरी समस्या यह है कि यह केवल #currentAdminForename टेक्स्ट इनपुट में पूर्वनाम और उपनाम दोनों प्रदर्शित करता है।

अब मुझे पता है कि ऐसा क्यों होता है लेकिन मेरा सवाल यह है कि मैं अलग-अलग पाठ इनपुट में पूर्वनाम और उपनाम कैसे प्रदर्शित कर सकता हूं?

उत्तर

2
 var text = $(this).find('option:selected').text(); 
     var split = text.split(' - '); 
     var names = split[1].split(' '); 
     $('#currentAdminAlias').val(split[0]);  
     $('#currentAdminForename').val(names[0]); 
     $('#currentAdminSurname').val(names[1]); 

या एक एचटीएमएल 5 डेटा विशेषता के रूप में मान विकल्प तत्व को आप चाहते हैं में से प्रत्येक के लिए संलग्न पर विचार करें। जो तुम

 var element = $(this).find('option:selected'); 
     $('#currentAdminAlias').val(element.data('alias')); 
     $('#currentAdminForename').val(element.data('forename')); 
     $('#currentAdminSurname').val(element.data('surname')); 
एक नमूना विकल्प तत्व के साथ

तरह

 <option data-alias="scomp23" data-forename="Jack" data-surname="Turner"> 
      scomp23 - Jack Turner 
     </option> 
+0

इस समय यह एप्लिकेशन केवल पहले और अंतिम नामों से निपट रहा है, इसलिए यह आपके उत्तर के साथ ठीक होना चाहिए – Manixman

3
 var split = text.split(' '); 
     $('#currentAdminAlias').val(split[0]);  
     $('#currentAdminForename').val(split[2]); 
     $('#currentAdminSurname').val(split[3]); 
+0

देख मैं इस सवाल का जवाब स्वीकार करेंगे जब यह मुझे देता है देना होगा। क्या मैं थोड़ा सवाल पूछ सकता हूं। अगर मेरे पास ड्रॉप डाउन विकल्प है जो 'scomp22 है - एंडी हॉल' और मेरे पास दूसरा विकल्प है जो 'जॉन बेली-स्मिथ' है, तो क्या मैं उपरोक्त कोड का उपयोग कर सकता हूं या क्या मुझे इसे थोड़ा बदलने की ज़रूरत है? – Manixman

+0

यदि आपके पास विकल्प टेक्स्ट के लिए हमेशा एक ही संरचना नहीं है, तो विकल्प टेक्स्ट का विश्लेषण करने के बजाय डेटा विशेषताओं का उपयोग करना बहुत उपयोगी हो जाता है। मेरा जवाब देखें – SamStephens

+0

नहीं आप नहीं कर सकते। पहले व्यक्ति पर विभाजन आपको 4 परिणामों को सरणी में देगा, लेकिन दूसरे पर विभाजित आपको केवल 2 प्रविष्टियां देगा। यदि आपके पास हमेशा फॉर्म है [adminAlias] - [पहले] [अंतिम] या [पहले] [अंतिम] तो आप अंतरिक्ष पर विभाजन कर सकते हैं। सरणी की लंबाई की जांच करें। यदि लंबाई 2 है तो 0 पहले है और 1 अंतिम है। यदि लंबाई 4 है, तो व्यवस्थापक 0 है, पहले 2 है, आखिरी है 3. –

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