הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   הצגת מידע לכל option בselect (https://hosts.co.il/forums/showthread.php?t=48194)

qoby 24-06-07 16:02

הצגת מידע לכל option בselect
 
שלום, אני מתחיל בתכנות אתרים.

בניתי טופס ובתוכו שמתי תיבת בחירה (select).
עכשיו אני מעוניין שלכל option בselect יוצג מידע בצד.

למשל בחרתי בoption "אילת", אז שבצד תוצג תמונה שקשורה לאילת וטקסט "העיר הדרומית ביותר בישראל"

באיזה שפה עושים את זה? אם בכלל..
PHP? JS?

תודה לעוזרים! =]

קובי.

Source 24-06-07 16:07

JS.
תעשה div ריק, ואירוע onselect לSELECT וכאשר בוחרים באפשרות מסויימת אתה משנה את הinnerHTML של הdiv למשל...

Eran-s 24-06-07 16:08

ב-select אתה שם פקודת onchange שמזמנת פונקצית JS שתציג את המידע.
תעשה את ההצגת מידע באמצעות switch.
קבלת ערך של option שנבחר נעשה באמצעות selectedIndex לדוגמא
HTML קוד:

alert(document.getElementById('selectboxid').selectedIndex);

qoby 24-06-07 16:26

בהנחה שהכותרת של הפונקציה היא function info() ככה אני עושה את הזימון?

HTML קוד:

onChange="info()"
ובפונקציה עצמה, איזה expression אני שם לswitch?
ואשמח אם תסביר יותר על השורה הזאת:
HTML קוד:

alert(document.getElementById('selectboxid').selectedIndex);
תודה!

Eran-s 24-06-07 16:32

ציטוט:

נכתב במקור על ידי qoby (פרסם 506211)
בהנחה שהכותרת של הפונקציה היא function info() ככה אני עושה את הזימון?

HTML קוד:

onChange="info()"
ובפונקציה עצמה, איזה expression אני שם לswitch?
ואשמח אם תסביר יותר על השורה הזאת:
HTML קוד:

alert(document.getElementById('selectboxid').selectedIndex);
תודה!

התשובה לשאלה הראשונה היא: כן,
רק תרשום c קטנה כי זה לא תקני עם גדולה.

בקשר לפונקציה תעשה משהו בסגנון שלהלן, קודם כל תשים נגיד ל-select:
HTML קוד:

id="city"
תשים DIV למשל עם id בשם city_info והוא יהיה איפה שתרצה להדפיס מידע.

ובפונקציה תרשום:
HTML קוד:

function info() {
  switch (document.getElementById('city').selectedIndex) {
    case 'Eilat':
    document.getElementById('city_info').innerHTML = 'The southest city';
    break;
......
  }
}


qoby 24-06-07 16:51

ב case אני שם את ה value של ה option?

ואם למשל הvalue הוא 249 אז אני כותב:

HTML קוד:

case '249':
והdiv פשוט יראה ככה?
HTML קוד:

<div id="city_info"></div>

qoby 24-06-07 17:11

אוקיי.. אני חושב שהswitch צריך להיות ככה כמו שכתבת בהתחלה:
HTML קוד:

switch (alert(document.getElementById('city').selectedIndex))
דבר שני, אני עדיין לא יודע מה צריך לכתוב בcase.. עם הvalue זה לא עובד לי.

וגם קורה משהו מוזר, כל פעם שאני מעביר אפשרות בselect אז קופץ לי חלון עם סימון קריאה צהוב כזה וכתוב בו את האינדקס של הoption שבחרתי.

RS324 24-06-07 17:13

ציטוט:

נכתב במקור על ידי qoby (פרסם 506241)
אוקיי.. אני חושב שהswitch צריך להיות ככה כמו שכתבת בהתחלה:
HTML קוד:

switch (alert(document.getElementById('city').selectedIndex))
דבר שני, אני עדיין לא יודע מה צריך לכתוב בcase.. עם הvalue זה לא עובד לי.

וגם קורה משהו מוזר, כל פעם שאני מעביר אפשרות בselect אז קופץ לי חלון עם סימון קריאה צהוב כזה וכתוב בו את האינדקס של הoption שבחרתי.

כי אתה צריך לעשות את ה SWITCH בלי ה ALERT,

ALERT = זה פונקציה ב JS להצגת מידע בחלון אזהרה - ALERT

qoby 24-06-07 17:14

צודק.. זה עכשיו לא עושה את זה.

אבל אם תוכל לעזור קצת בcase..

מה אני כותב בcase כדי שהוא יתייחס לoption שבחרתי?

qoby 24-06-07 17:25

אוקיי הסתדרתי צריך לכתוב את האינדקס של הoption בלי גרשיים.. תודה לכולכם!

עכשיו יש לי בעיה אחרת.. נכנסתי לקייס וכתבתי לו את הDIV שהוא צריך לשים בו את המידע

עכשיו אני רוצה לשים גם תמונה בDIV, אז איך אני כותב את זה בתוך הסקריפט?


כל הזמנים הם GMT +2. הזמן כעת הוא 22:14.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ