الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

خطأ في كود الdynamic dropdown list

بدأه maas في 16 يوليو 2010 · 4 رد · 578 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

يا شباب انه عندي في الjsp 2 drop down list حيث ان الثاني يعتمد على الأول

عملت الكود للselect و كل الvalues تطلع في الdrop down list 1 & 2

و لكن الآن ما هي الخطوة أو التعديل في الكود لكي يعتمد الdrop down 2 على 1

حيث ان الuser يختار نوع المحل و من ثم تظهر القيم المناسبة للنوع

الكود هذا

<select size="1" name="shop_category"><option value="NONE">

<%



                 try

                 {





                                ResultSet rs=null;



                                Statement st1=null;



                                String query = "select Category_name, category_id from shop_category_lkup";



                                st1 = conn1.createStatement();



                                rs = st1.executeQuery(query);



                                while(rs.next())                

                {

           String sz_Selected="";



                 if (rs.getString("category_id").equals(shop_category))

                 {

                   sz_Selected = "selected";

                 }





%>

                <option value="<%=rs.getString("category_id")%>" <%=sz_Selected%>>

        <%=rs.getString("category_name")%></option>

<%

                                }



                }

                catch (Exception e) {

      e.printStackTrace();

    }

%>

</select>





<select size="1" name="rent_category"><option value="NONE">

<%



                 try

                 {





                                ResultSet rs=null;



                                Statement st1=null;



                                String query = "select r.Category_name, r.category_id from rent_category_lkup r, shop_categpry_lkup s where r.category_id=s.category_id";



                                st1 = conn1.createStatement();



                                rs = st1.executeQuery(query);



                                while(rs.next())                

                {

           String sz_Selected="";



                 if (rs.getString("category_id").equals(rent_category))

                 {

                   sz_Selected = "selected";

                 }





%>

                <option value="<%=rs.getString("category_id")%>" <%=sz_Selected%>>

        <%=rs.getString("category_name")%></option>

<%

                                }



                }

                catch (Exception e) {

      e.printStackTrace();

    }

%>

</select>

فأرجو مساعدتي لحل هذه المشكلة

#2

تحتاج إلى استخدام Ajax للقيام بذلك

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

كما أشار لك الأستاذ علاء, تحتاج Ajax..

و لكن دعني أفصل..

أنت تريد أن يختار المتسخدم إسم الدوله (مثلا) و بناء على ذلك يتم ملئ القائمة المنسدله الثانية بأسماء المدن....

حسنا, في البداية عند فتح الصفحه (عند إرسال طلب GET لها) أنت تقوم بتحميل بيانات الدول في القائمة الأولي.... جيد جدا...

أنت تريد عندما يختار المستخدم إسم الدوله, يتم تعبة القائمة الثانيه بأسماء المدن... جميل جدا, هل تعرف Javascript ؟؟\

ستضطر لإستخدام جافاسكريبت,,, و هذه حل لا أفضله لعيوبه,,, و من الأفضل أن تستخدم Ajax , و لكني دعني أشرح لك ميكانيكية الحل بإستخدام جافاسكريبت...

على القائمة الأولي (الخاصه بالدول) ضع حدث جافا سكريبت,,

onchange=submit()

, وبالتالي, عندم يختار المتسخدم إسم الدوله, سيقوم المتصفح بإرسال طلب إلى الخادم,, ساعتها قم بوضع أسماء المدن في القائمة الثانيه بناء على القيمة في القائمة الأولي......

عيوب هذه الطريقة, إذا كنت تستخدم javascript validation , فإنك لن تستطيع إرسال الطلب للخادم عند تغير قيمة الدوله (إذا كنت لاتفهم هذا السطر الأن فلا بأس, إن حدثت لك المشكله فستفهمه)....

و أكرر طريقة ال Ajax أبسط و أقل مشاكل...

شكرا لك...

#4

السلام عليكم

يعني يا إخوان فقط أضع الكود الذي وضعه أخي هويدي في أول drop downlist ؟

أم أعمل تغييرات في الكود ؟؟؟؟ هل هناك أمثلة على ذلك؟

#5

أنصحك بالتوجه إلى قسم جافا سكريبت فهناك سيفيدوك بشكل أكبر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة