2013-10-18 12 views
18

में एक मूल्य भेज यहाँ मेरी कोड का एक टुकड़ा है: http://jsfiddle.net/natatkinson/xbWEb/Select2 बहु मूल्य केवल पोस्ट

जावास्क्रिप्ट:

$(document).ready(function() { 
    $("#tags").select2({ 
     maximumSelectionSize: 3 
    }); 

}); 

HTML:

<form name="form1" id="form1" action="" method="GET"> 
<fieldset> 
    <legend>Shoe Info</legend> 
    <dl> <dt>Name:</dt> 

     <dd> 
      <input type="text" name="name" id="name" size="40" placeholder="Shoe name" required autofocus> 
     </dd> 
    </dl> <dt>Tags:</dt> 

    <dd> 
     <select multiple="" name="tags" id="tags" style="width:100%;"> 
      <option value="0">Select Tags</option> 
      <option value="2">racing flat</option> 
      <option value="3">track spikes</option> 
      <option value="1">trainer</option> 
     </select> 
    </dd> 
    </dl> 
</fieldset> 
<p class="submit-buttons"> 
    <input type="submit" class="button1" name="submit" id="submit" value="Add Shoes" /> 
</p> 

सभी जो सबमिट करता है वह 1 मान है, दस्तावेज की तरह अल्पविराम से अलग सूची नहीं है।

+5

क्या आपने नाम के रूप में "टैग []" का उपयोग करने का प्रयास किया है? – Tschitsch

+0

यदि मैं सूचीबद्ध 3 टैग के साथ अनुरोध करता हूं, तो मैं निम्नलिखित अनुरोध URL के रूप में निम्नलिखित देखता हूं: '/? Name = abc और टैग = 0 और टैग = 2 और टैग = 3 और सबमिट = जोड़ें + शूज़ – Nightfirecat

+0

@Tschitsch यह है! मैं उनके दस्तावेज को अद्यतन करने के लिए लेखक को सूचित करूंगा। विश्वास नहीं कर सकता मैंने जल्द कोशिश नहीं की। धन्यवाद –

उत्तर

59

आपको एकाधिक मूल्य निहित फॉर्म नियंत्रण के नाम के लिए [] का उपयोग करना होगा। सही तल पर का उपयोग कर:

<select multiple="" name="tags[]" id="tags" style="width:100%;"> 
+0

धन्यवाद। क्या होगा यदि मैं चयनित विकल्प की अल्पविराम से अलग स्ट्रिंग चाहता हूं? –

+0

@ankitsuthar नया उत्तर देखें, उम्मीद है कि यह आपकी मदद कर सकता है। – Frank

1

मुझे लगता है कि आप सीधे Select2 से स्ट्रिंग डेटा प्राप्त नहीं कर सकते, तो आप एक छिपे हुए इनपुट जोड़ना चाहिए, और परम छिपे हुए इनपुट के मूल्य जमा करें।

<input type="hidden" name="tags" id="tags"></input> 
<select multiple="" style="width:100%;" onchange="changeSelect(event)"> 
    <option value="0">Select Tags</option> 
    <option value="1">trainer</option> 
</select> 
function changeSelect(event){ 
    var select2Value = $(event.target).val(); 
    $("tags").val(select2Value); 
} 
संबंधित मुद्दे