के बजाय विकल्प आईडी सबमिट करता है मैं अपने लंबे चयन विकल्पों को दोबारा सुधारने के लिए select2 jquery प्लगइन का उपयोग कर रहा हूं। सब कुछ अपेक्षित काम करता है, सिवाय जब मैं फॉर्म सबमिट करता हूं तो id
मान मूल्य के बजाय मूल्य के रूप में सहेजा जाता है (इस मामले में lang
)। मैं यह नहीं समझ सकता कि मैं क्या गलत कर रहा हूं।jQuery चयन 2 सुधार <select> लेकिन मूल्य
{Object}
O: Object
id: "1"
text: "Afrikaans"
:
<input id="field_4" name="field_4" type="text" class="regular-text " value="3" />
जब मैं कंसोल में वापसी मान लॉग ऑन मैं इस देखें:
var langs=[{id:0,lang:'English'},
{id:1,lang:'Afrikaans'},
{id:2,lang:'Albanian'},
{id:3,lang:'Zulu'}];
function format(item) { return item.lang; };
$("#field_4").select2({
placeholder: "Select your language",
data:{ results: langs, text: 'lang' },
formatSelection: format,
formatResult: format
});
यहाँ मार्कअप है:
यहाँ स्क्रिप्ट कैसी दिखती है, की तरह है अद्यतन: मैंने इस पर कुछ प्रगति की है। यदि मैं कन्स्ट्रक्टर ऑब्जेक्ट में निम्नलिखित जोड़ता हूं (select2 के लिए) मैं सही मानों को सहेज सकता हूं (id
के बजाय)। हालांकि यह काम नहीं करता है जब मैं <select>
एस में जोड़ता हूं जो विकल्प प्राप्त करने के लिए AJAX का उपयोग करता है।
id : function(object) {
return object.lang;
}
क्या यह * आईडी * को सहेजने के लिए नहीं है? वह * मूल्य * है; 'लांग' पाठ है, मूल्य नहीं। –
मैं प्रपत्र को वास्तविक भाषा नाम सहेजना चाहता हूं। आईडी नहीं क्या यह संभव है? – emersonthis
फिर भी ids क्यों है? या मुझे कहना चाहिए, केवल आईडी हैं (लेकिन उन्हें भाषा के नाम बनाएं) और "टेक्स्ट" मान को 'टेक्स्ट' के बजाय 'id' पर सेट करें। –