ABA


"JS - מה הבעיה עם הפונקציה הזו?."
גירסת הדפסה   אשכול נעול - לקריאה בלבד
 
   
קבוצות דיון בניית אתרים נושא #10941 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10941
MoonHunter
חבר מתאריך 1.8.02
680 הודעות
   19:28   30.09.06   
אל הפורום  
  JS - מה הבעיה עם הפונקציה הזו?.  
 
   ערכתי לאחרונה בתאריך 30.09.06 בשעה 20:42 בברכה, MoonHunter
 
הפונקציה במלואה:
*האובייקט ajax נוצר לפני הקריאה לפונקציה הזו, אין צורך בקוד המימוש שלו מכיוון והחלק שהוא מופיע פועל כמו שצריך.

var ajax = new sack();

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;

מי שיכנס ללינק שנתתי יראה שהכל פועל


        שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
_________________________________________________________________________
למנהלים:  שחרר | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול | עריכת אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net