2011-10-27 43 views
20

से अल्पविराम के साथ प्रत्येक मान को अलग करें मेरे पास <select multiple='multiple' है और मुझे चयनित मूल्य को किसी div या पृष्ठ के किसी अन्य भाग में दिखाना होगा।एकाधिक चयन

मैंने यह किया लेकिन स्ट्रिंग सभी एक साथ धुआं गए हैं। मैं प्रत्येक मान को अल्पविराम से अलग कैसे कर सकता हूं?

मैंने अब तक live example बनाया है जो मेरे पास है।

या यदि आप चाहें, यहाँ कोड है:

एचटीएमएल:

<select multiple='multiple' id="selMulti"> 
    <option value="1">Option 1</option> 
    <option value="2">Option 2</option> 
    <option value="3">Option 3</option> 
    <option value="4">Option 4</option>  
</select> 
<input type="button" id="go" value="Go!" /> 
<div style="margin-top: 10px;" id="result"></div> 

js:

$("#go").click(function(){ 
    var selMulti = $("#selMulti option:selected").text(); 
    $("#result").text(selMulti); 
}); 

आप विकल्प 1 और 2, का चयन करते हैं परिणाम होगा:

Option 1Option 2

क्या मैं जरूरत है:

Option 1, Option 2

धन्यवाद

+1

पहले से ही होने के लिए धन्यवाद पूछा यह तो मैं नहीं था है पूछने के लिए और एक जवाब का इंतजार है। – lathomas64

उत्तर

31

आप उन्हें शामिल होने के एक सरणी के तत्वों को मैप करने के लिए और फिर जरूरत है:

$("#go").click(function(){ 
    var selMulti = $.map($("#selMulti option:selected"), function (el, i) { 
     return $(el).text(); 
    }); 
    $("#result").text(selMulti.join(", ")); 
}); 

कार्य डेमो: http://jsfiddle.net/AcfUz/

+0

अच्छा, सही काम करते हैं। धन्यवाद –

+3

सुंदर freakin महान soloution! :) –

+0

यह मेरे लिए भी बहुत अच्छा काम करता है, धन्यवाद! – lathomas64

3
$("#go").click(function(){ 
    var textToAppend = ""; 
    var selMulti = $("#selMulti option:selected").each(function(){ 
      textToAppend += (textToAppend == "") ? "" : ","; 
      textToAppend += $(this).text();   
    }); 
    $("#result").html(textToAppend); 
}); 
+0

ऐप कॉल – JohnP

+0

में '+' जोड़ने की आवश्यकता है, ओपी ने विशेष रूप से अल्पविराम से अलग परिणाम के लिए कहा। –

+0

उत्तर में fiexed :) –

0

एक पंक्ति शैली:

$("#selMulti option:selected").map(function(){return this.text}).get().join(', '); 

आउटपुट:

"Option 1, Option 2" 
संबंधित मुद्दे