विनिमय कॉल चुनिंदा तत्व पर होना चाहिए न कि लेबल पर
<label class="col-sm-2 form-control-label">Codigo Productor (*)</label>
<select name="vendedor_codigo onchange="productorInfo(this.value)">
लेकिन मेरे साथ भी ऐसा होता है कि आप इस प्रक्रिया को पूरी तरह से नहीं समझ सकते हैं। जब पृष्ठ इतना थोड़ा लोड होगा तो आपका अजाक्स कॉल सक्रिय नहीं होगा:
<select id="ajax-vendedor" name="vendedor_nombre">
<?php foreach ($ajax_productor_result as $dd_productor_display) : ?>
<option placeholder="Seleccione codigo" value="<?= $dd_productor_display['vendedor_nombre']; ?>">
<?= $dd_productor_display['vendedor_nombre']; ?>
</option>
मुझे लगता है कि आपको अपरिभाषित चर चेतावनियां दे रहा है (जब तक कि आप $ajax_productor_result
सेट नहीं कर रहे हैं शुरू में किसी तरह)
अजाक्स से प्रतिक्रियाएं आमतौर पर सफलता के माध्यम से .js में खींची जाती हैं:फ़ंक्शन
(result) {
$("#ajax-vendedor").html(result);
}
हालांकि इसके रूप से - जब तक कि पोस्ट किए गए अधिक कोड न हों, आप .html() फ़ंक्शन को एक सरणी या डेटाबेस पंक्तियों को पास कर रहे हैं, इसलिए यह कभी भी कुछ भी प्रदर्शित नहीं करेगा।
इसलिए आपको 1) पगेलोड पर बिना किसी विकल्प के चयन करना होगा (या यदि आपके पास डिफ़ॉल्ट विकल्प हैं) 2) एक प्रतिक्रिया लौटाएं कि सफलता समारोह उपयोग कर सकता है उदा। एक जेसन स्ट्रिंग जो jQuery पार्स कर सकता है 3) jQuery में डेटा को <options>
. में प्रारूपित करता है और फिर उपयोगकर्ता .html()
चयन को अपडेट करने के लिए फ़ंक्शन 4) यदि आप चाहते हैं कि ऐसा तब हो जब पृष्ठ शुरू में लोड हो तो एक दस्तावेज़ तैयार कॉल में productorInfo(id)
में जोड़ें फ़ंक्शन - यह प्रासंगिक होगा यदि आप किसी तरह से प्रारंभिक चयन मान सेट कर रहे हैं (इसलिए यह आपके लिए प्रासंगिक नहीं हो सकता है)