لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
عمل قائمة منسدلة بدلالة أخرى
السلام عليكم جميعاً
أريد عمل قائمة منسدلة بقائمة منسدلة أخرى بواسطة 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';
        }

}


و شكراً لكم
تاريخ البداية: 31 / مارس / 2012 الساعة 14:27 اخر نشاط: 31 / مارس / 2012 الساعة 17:11 ajax
1 إجابة
تقصد عمل شىء كهذا Related Selects وهذا الشرح

بواسطة: MacOS
منذ: 31 / مارس / 2012 الساعة 14:30

نعم بالضبط هذا ما فعلته لكن الكود بالأعلى لم يعمل لا أحد مع أن كل شيء تمام :S
31 / مارس / 2012 الساعة 14:37

هل تستعمل الـconsole الخاص بالفير فوكس لتصحيح اخطاء الجافا سركيبت؟
31 / مارس / 2012 الساعة 14:38

لا + يا ريث تجرب الكود بالأعلى عندك , دي قاعدة البيانات http://www.mediafire.com/?eiyi8m34u1112h8 و شكراً لك
31 / مارس / 2012 الساعة 14:44

نصيحة مستقبيلة استخدم الـconsole وفعل تاب الـjs واعمل رفرض هيقول لك الخطا فين بالتفصيل الممل ولو فى اجاكس هيقولك ارسلت ايه واستقبلت ايه هذه الخاصية فى الفيرفوكس الجديد
31 / مارس / 2012 الساعة 14:46

لا توجد عندي فكرة بخصوصها, المهم جرب كما قلت لك و ان شاء الله تعرف وين المشكل
31 / مارس / 2012 الساعة 14:54

إذا طلع معك شيء يا ريث تخبرني
31 / مارس / 2012 الساعة 15:59

وينكم يا إخوان ياريث المساعدة و جزاكم الله الجنة
31 / مارس / 2012 الساعة 17:11

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة