के माध्यम से अतिरिक्त डेटा वापस पास करें ठीक है, मुझे लगता है कि मैं यहाँ पागल हो रहा हूं। मैं select2 jquery प्लगइन (संस्करण 4) का उपयोग कर रहा हूं, और AJAX के माध्यम से डेटा पुनर्प्राप्त कर रहा हूं। तो आप एक नाम टाइप कर सकते हैं, और यह उस संपर्क जानकारी को वापस कर देगा। लेकिन मैं भी वापस लौटना चाहता हूं कि कौन सा संगठन संपर्क करता है। 'Org' से जुड़ी होना चाहिएचयन 2 - AJAX कॉल
foreach($contacts as $con) {
$results[] = [
'id' => $con->contact_id,
'text' => $con->full_name,
'org' => [
'org_id' => $con->organization_id,
'org_name' => $con->org_name
]
];
}
return response()->json($results);
तो नहीं है:
यहाँ मेरी Select2 आरंभीकरण है:
$('#contact_id').select2({
ajax: {
url: 'example.com/contacts/select',
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term,
page: params.page
};
},
processResults: function (data) {
return {
results: data
};
},
cache: true
},
minimumInputLength: 3,
maximumSelectionLength: 1
});
और यहाँ (laravel ढांचे) मैं लौट रहा हूँ डेटा है या तो निर्मित विकल्प या चयन 2 द्वारा तत्व का चयन करें? तो मैं $('#contact_id').select2().find(':selected').data('data').org
या $('#contact_id').select2().data('data').org
या ऐसा कुछ ऐसा कर सकता था?
Idealistically, इस विचार करेंगे की तरह:
<select>
<option value="43" data-org="{org_id:377, org_name:'Galactic Empire'}">Darth Vader</option>
</select>
मैं कसम खाता हूँ मैं इस बात की पुष्टि इस अंतिम सप्ताह में काम किया, लेकिन अब यह पूरी तरह से है कि ऑर्ग संपत्ति अनदेखी कर रहा है। मैंने पुष्टि की है कि जेसन डेटा लौटाया जा रहा है जिसमें उचित org_id और org_name के साथ संगठन शामिल है। मैं documentation का कुछ भी खुदाई करने के लिए ऑनलाइन, केवल इस टुकड़ा नहीं कर पाए हैं:
आईडी और पाठ गुण प्रत्येक वस्तु पर आवश्यक है, और इन गुणों कि Select2 आंतरिक डेटा वस्तुओं के लिए उपयोग करता है। डेटा ऑब्जेक्ट्स के साथ पास किए गए किसी भी अतिरिक्त पैरामीटर को डेटा ऑब्जेक्ट्स पर शामिल किया जाएगा जो Select2 का खुलासा करता है।
तो क्या कोई इस से मेरी सहायता कर सकता है? मैं इस पर कुछ घंटे पहले ही बर्बाद कर चुका हूं।
संपादित करें: जब से मैं किसी भी प्रतिक्रियाओं का नहीं मिला है, अपने वर्तमान प्लान को छिपा इनपुट फ़ील्ड या JSON ब्लॉक है कि मैं अपने कोड में बाद में दर्शाएंगे अंडे processResults
कॉलबैक उपयोग करने के लिए है। मुझे लगता है कि यह स्थिति के बाद एक हैकी समाधान है, लेकिन अगर कोई दूसरा रास्ता नहीं है, तो मैं यही करूँगा। मैं संगठन प्राप्त करने के लिए एक और AJAX कॉल करने की बजाय। जब मैं इसे लागू करने के लिए चारों ओर मिलता हूं, तो मैं अपना समाधान पोस्ट करूंगा।
अतिरिक्त डेटा (v4.0) सहित::
processResults: function (data) {
data = data.map(function (item) {
return {
id: item.id_field,
text: item.text_field,
otherfield: item.otherfield
};
});
return { results: data };
}
डेटा पढ़ना:
हाय, मुझे अभी एक ही समस्या का सामना करना पड़ रहा है। मुझे आदर्श रूप से डेटा विशेषताओं का उपयोग करके अतिरिक्त डेटा (केवल आईडी और टेक्स्ट) पास करने की आवश्यकता नहीं है। क्या आपने समस्या हल की? – slick
क्या आपने कभी इसके लिए एक समाधान समाधान प्राप्त किया है? –
मैंने अपना समाधान जोड़ा। –