मेरे पास दो चुनिंदा तत्व हैं, ए और बी: जब ए का चयनित विकल्प बदलता है, तो बी के विकल्पों को तदनुसार अपडेट किया जाना चाहिए। ए में प्रत्येक तत्व बी में कई तत्वों का तात्पर्य करता है, यह एक-से-कई संबंध हैं (ए में राष्ट्र हैं, बी में दिए गए राष्ट्रों में स्थित शहर होने चाहिए)।
फ़ंक्शन do_ajax
को अतुल्यकालिक अनुरोध चलाना चाहिए:
function do_ajax(elem, mydata, filename)
{
$.ajax({
url: filename,
context: elem,
data: mydata,
datatype: "html",
success: function (data, textStatus, xhr) {
elem.innerHTML = data;
}
});
}
B के विकल्पों को अपडेट करने के लिए मैंने A के onChange
ईवेंट में एक फ़ंक्शन कॉल जोड़ा है । यहां वह फ़ंक्शन है जो A
चालू होता है जब onChange इवेंट (का ) चालू होता है:
function my_onchange(e) // "e" is element "A"
{
var sel_B = ... ; // get select element "B"
// I skipped some code here
// ...
var data = {
'mode': 'filter_city',
'id_A': e[e.selectedIndex]
};
do_ajax(city_sel, data, 'ajax_handler.php');
}
}
मैंने JQuery डॉक्स में पढ़ा है जो data
एक सरणी (मुख्य मूल्य जोड़े) हो सकता है। अगर मुझे लगा तो मुझे त्रुटि मिलेगी:
var data = {
'mode': 'filter_city',
'id_A': e[e.selectedIndex]
};
इसके बजाय, मुझे वह त्रुटि नहीं मिलती है यदि मेरा डेटा एक स्ट्रिंग है:
var data = 'mode=filter_city&id_A=' + e[e.selectedIndex];
लेकिन मुझे चर के "सरणी संस्करण" की आवश्यकता है, मेरे सर्वर-साइड php कोड में।
Uncaught TypeError: Illegal invocation
, "JQuery-1.7.2.min.js" फाइल है, जो सभी संकुचित है में स्थित है तो मैं समझ नहीं सकता है कोड का हिस्सा हैं तो त्रुटि उठाया।
क्या कोई सेटिंग है जिसे मैं अपने कोड में बदल सकता हूं ताकि यह डेटा को एक सहयोगी सरणी के रूप में स्वीकार करे?