30-09-2006, 19:27
|
|
|
חבר מתאריך: 07.08.03
הודעות: 408
|
|
JS - מה הבעיה עם הפונקציה הזו?.
הפונקציה במלואה:
*האובייקט 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/v...ubmit=%E7%F4%F9
נערך לאחרונה ע"י Depression בתאריך 30-09-2006 בשעה 19:37.
|