यहाँ एक बहुत ही सरल प्रक्रिया है। मैं सिर्फ मुख्य कंकाल दिखाऊंगा। फ्लैश-मांस जोड़ना आपकी ओर से होगा।
मान लीजिए हमारे पास दो हैं <select>
ajax.php
. में इस तरह:
<select id="parent">
<option value="1">value1</option>
<option value="2">value2</option>
<option value="3">value3</option>
<option value="4">value4</option>
</select>
<select id="child">
</select>
तो हमें क्या चाहिए? हमें दूसरा <select>
. पॉप्युलेट करना होगा इसके चयन की स्थिति में।
यहाँ जावास्क्रिप्ट भाग आता है (ajax.php)
<script type="text/javascript">
$(function(){
$('#parent').change(function(){ //on change event
var parentVal = $('#parent').val(); //<----- get the value from the parent select
$.ajax({
url : 'process.php', //the url you are sending datas to which will again send the result
type : 'GET', //type of request, GET or POST
data : { parentValue: parentVal}, //Data you are sending
success : function(data){$('#child').html(data)}, // On success, it will populate the 2nd select
error : function(){alert('an error has occured')} //error message
})
})
})
</script>
यह अनुरोध को process.php
. पर भेज देगा
अब आता है process.php
यहां हमें दूसरा <select>
. पॉप्युलेट करने के लिए डेटा चाहिए
अब अंदर क्या जाता है <select>
?
<option value="someValue">someText</option>
आपको कुछ इस तरह से आउटपुट करना होगा:
<option value="11">value11</option>
<option value="12">value12</option>
<option value="13">value13</option>
<option value="14">value14</option>
मूल्य और अंदर का पाठ आपकी आवश्यकताओं को पूरा करता है।
जैसा कि यह डेटानबेस से आएगा:
- आप
process.php
में पैरेंट सेलेक्ट वैल्यू प्राप्त कर सकते हैं$_GET['parentValue']
. के साथ - उस मान के साथ, डेटाबेस को क्वेरी करें
- फिर डेटाबेस से लौटे परिणाम से, लूप का उपयोग करें
while
,foreach
याfor
(जिस तरह से आप इसे पुनः प्राप्त कर रहे हैं उसके आधार पर),<option value="someValue">someText</option>
बनाएं । - आपका काम हो गया!
बहु-चयन के लिए
जीवन को थोड़ा आसान बनाने के लिए, आप चुने गए बहु-चयन का उपयोग कर सकते हैं
एक सलाह
mysql_*
पदावनत किया गया है। इसके बजाय पीडीओ का प्रयोग करें। यहां एक लिंक है। ट्यूटोरियल