عمل قائمة منسدلة بدلالة أخرى
السلام عليكم جميعاً
أريد عمل قائمة منسدلة بقائمة منسدلة أخرى بواسطة Jquery و sql و php هذا مثال: http://mualm.com/changeList/list.php قمت بعمل التالي, لكن لم يشتغل مع أن كل شيء تمام form.php <html> <head> <title>Change List</title> <script type="text/javascript" src="jQuery.js"></script> <script type="text/javascript"> function getCities() { // جلب قيمة الخيار المفعل حاليا ً في القائمة المنسدلة للدول var countryValue = $("#Countries").val(); // مسار مجلد الملفات المؤقته var temCity = "tempCities/"; // مسار الملف المؤقت للدولة المفعلة في القائمة المنسدلة للدول var tempURL = temCity + countryValue + ".txt"; // يتم استخدام هذا المتغير في حالة لم يكن هناك ملف مؤقت للدولة // يتم ارسال البيانات الى ملف البي اتش بي عن طريق المصفوفة بوست var dataPost = "co_val=" + countryValue; $("#loading").fadeIn(100); // استخدام تقنية الاجاكس عن طريق مكتبة الجيكوري لجلب مدن الدولة $.ajax( { url : tempURL, // اذا لم يتم العثور على الملف المؤقت لمدن الدولة error : function() { $.ajax({ url : "Cities.php", type : "POST", data : dataPost, success : function(result) { $("#loading").fadeOut(100); // اخفاء القائمة المنسدلة للمدن في حالة لم يتم ادخال اي مدن للدولة (result == "null") ? $("#Cities").hide(0) : $("#Cities").show(0); // اضافة المدن للقائمة المنسدلة للمدن $("#Cities").html(result); } }) }, // جلب البيانات من الملف المؤقت للدولة success : function(result) { $("#loading").fadeOut(100); (result == "null") ? $("#Cities").hide(0) : $("#Cities").show(0); $("#Cities").html(result); } }) } /* ----------------------- */ $(document).ready(function() { getCities(); $("#Countries").change(function() { getCities(); }) }) </script> </head> <body> <form method="POST" action="gg.php"> <select name="list1" id="Countries"> <?php $query = mysql_query("SELECT id,name,value FROM countries"); while($rows = mysql_fetch_array($query)) { echo '<option value="'.$rows['value'].'">'.$rows['name'].'</option>'; } ?> </select> <select name="list2" id="Cities"> </select> <input type="submit" value="go" /> <form> <div id="loading" style="display:none">Loading</div> </body> </html>Cities.php $couVal = $_POST['co_val']; if($couVal) { $queryTown = mysql_query("SELECT name,value FROM cities WHERE country_value = '$couVal'"); $num = mysql_num_rows($queryTown); if($num > 0) { while($rows = mysql_fetch_array($queryTown)) { echo '<option value="'.$rows['value'].'">'.$rows['name'].'</option>'; $fp = fopen("tempCities/".$couVal.".txt","a"); fwrite($fp,'<option value="'.$rows['value'].'">'.$rows['name'].'</option>'); } fclose($fp); }else { echo 'null'; } } و شكراً لكم
1 إجابة
تقصد عمل شىء كهذا Related Selects وهذا الشرح
بواسطة: MacOS 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا نعم بالضبط هذا ما فعلته لكن الكود بالأعلى لم يعمل لا أحد مع أن كل شيء تمام :S هل تستعمل الـconsole الخاص بالفير فوكس لتصحيح اخطاء الجافا سركيبت؟ لا + يا ريث تجرب الكود بالأعلى عندك , دي قاعدة البيانات http://www.mediafire.com/?eiyi8m34u1112h8 و شكراً لك نصيحة مستقبيلة استخدم الـconsole وفعل تاب الـjs واعمل رفرض هيقول لك الخطا فين بالتفصيل الممل ولو فى اجاكس هيقولك ارسلت ايه واستقبلت ايه هذه الخاصية فى الفيرفوكس الجديد لا توجد عندي فكرة بخصوصها, المهم جرب كما قلت لك و ان شاء الله تعرف وين المشكل إذا طلع معك شيء يا ريث تخبرني وينكم يا إخوان ياريث المساعدة و جزاكم الله الجنة |