ערכתי לאחרונה בתאריך 30.09.06 בשעה 20:42 בברכה, MoonHunter
הפונקציה במלואה:
*האובייקט ajax נוצר לפני הקריאה לפונקציה הזו, אין צורך בקוד המימוש שלו מכיוון והחלק שהוא מופיע פועל כמו שצריך.
SubFilter - שם תפריט הSelect
search - שם הטופס, form name="search"
function getList(sel) { ajax.requestFile = 'selectMenu.php?cat='+sel; // Specifying which file to get ajax.onCompletion = createCities; // Specify function that will be executed after file has been found ajax.runAJAX(); // Execute AJAX function <? if(isSet($_GET['SubFilter'])) { ?> List = document.search.SubFilter; for (i=0;i<List.length;i++) { if(List.options[i].value == sel) { List.options[i].selected = true; } } <? } ?> }
|
החלק הזה של הפונקציה, למעשה טוען אל תפריט Select אפשרויות:
ajax.requestFile = 'selectMenu.php?cat='+sel; // Specifying which file to get ajax.onCompletion = createCities; // Specify function that will be executed after file has been found ajax.runAJAX(); // Execute AJAX function
|
הוא טוען את העמוד selectMenu.php, בעמוד הזה יש את קטעי הקוד האלו:
obj.options[obj.options.length] = new Option('name','value');
|
שלמעשה מוסיפים אפשרויות לתפריט הselect.
עד לכאן הכל עובד.
החלק השני של הפונקציה:
List = document.search.SubFilter; for (i=0;i<List.length;i++) { if(List.options[i].value == sel) { List.options[i].selected = true; } }
|
מודפס רק כאשר יש בו צורך( כאשר יש get של SubFilter), הוא לא פועל כמו שצריך, הוא אמור לעבור על כל האפשרויות שיש בתפריט הselect הזה ולסמן כselected את האופציה שהערך שלה שווה לobj, obj למעשה זה ערך שהפונקציה מקבלת.
מה שקורה בפועל - הערך הראשון של תפריט הSelect הוא זה שיהיה מסומן כselected.
עמוד לדוגמא, תחת התפריט של "בחר דגם" האופציה השניה אמורה להיות מסומנת:
http://mamboheb.com/sell/products/vmotor.php?C_ID=1&SubC_ID=2&aera=0&acat=54&SubFilter=110&yearFrom=0&yearTo=0&ahand=0&atrans=0&priceFrom=&priceTo=&text=&submit=%E7%F4%F9
-עריכה-
אוקי הסתדרתי, למעשה מה שעשיתי זה ללכת מסביב, שיניתי את הפונקציה והוספתי לה את הערך שמתקבל בSubFilter דרך GET.
בעמוד עצמו שאני יוצר את האפשרויות לתפריט הselect, עשיתי שאם הערך של האפשרות יהיה שווה למה שמתקבל מSubFilter אז יודפס:
obj.options.selected = true;
|
כאשר $i מייצג את מס' האפשרות.
ואם הערך לא שווה אז מודפס
obj.options.selected = false;
|
מי שיכנס ללינק שנתתי יראה שהכל פועל 