تتناول هذه المقالة بشكل أساسي الطرق الأساسية المتعلقة بجافا سكريبت والاختيار، كمرجع للأشخاص الذين ليسوا على دراية بجافا سكريبت. الموقف الشائع هو أن الشخص الذي يقترح بنية النموذج لا يحتاج فقط إلى تصميم منطق البرنامج وإنشاء هياكل البيانات، ولكنه يحتاج أيضًا إلى تصميم نمط النموذج والإلمام بجافا سكريبت؛ وقد تطلب منك بعض الشركات أن تكون ماهرًا في الفوتوشوب: في البداية، كلنا نكون متعددي المهارات.
ما يلي هو أساس مثالنا، وهذا ليس نموذجًا قياسيًا.
<معرف النموذج = "f">
<اختر الحجم = "1" الاسم = "s">
<option value="VeVB.COm">Wulin.com</option>
<option value="baidu.com">بايدو</option>
</حدد>
</النموذج>
-------------------------------------------------- --------------------------
انسخ رمز الكود كما يلي:
<نوع البرنامج النصي = "نص/جافا سكريبت">
<!--
var f = document.getElementById("f");
// احصل على عدد عناصر القائمة المحددة
document.write(fsoptions.length);
document.write(fslength);
// منخفض العنصر المحدد حاليًا (يبدأ من 0) (هناك طريقتان)
// إذا تم تحديد عناصر متعددة، قم بإرجاع الحرف المنخفض للعنصر المحدد الأول
document.write(fsoptions.selectedIndex);
document.write(fselectedIndex);
//تحقق من تحديد العنصر
document.write(fsoptions[0].selected);
// احصل على قيمة ونص عنصر معين
document.write(fsoptions[0].value);
document.write(fsoptions[1].text);
//حذف عنصر
fsoptions[1] = null;
// أضف عنصرًا
fsoptions[fsoptions.length] = خيار جديد("نص إضافي"، "قيمة إضافية")؛
// تغيير عنصر
fsoptions[1] = new Option("تغيير النص"، "قيمة متغيرة");
// يمكنك أيضًا تعيين نص العنصر وقيمته مباشرةً
//-->
</script>
// حدد كافة العناصر في القائمة
وظيفة SelectAllOption(قائمة)
{
لـ (var i=0; i<list.options.length; i++)
{
list.options[i].selected = true;
}
}
// عكس اختيار العناصر في القائمة بواسطة شبكة التعلم VeVB.COM asp
وظيفة دي سيليكت أوبتيونس (قائمة)
{
لـ (var i=0; i<list.options.length; i++)
{
list.options[i].selected = !list.options[i].selected;
}
}
// إرجاع عدد العناصر المحددة في القائمة
الدالة GetSelectedOptionsCnt(قائمة)
{
فار CNT = 0;
فار ط = 0؛
لـ (i=0; i<list.options.length; i++)
{
إذا (list.options[i].selected)
{
cnt++;
}
}
العودة الحزام الناقل؛
}
// امسح القائمة
وظيفة ClearList(قائمة)
{
بينما (list.options.length > 0)
{
list.options[0] = null;
}
}
// احذف العنصر المحدد من القائمة
// إرجاع عدد العناصر المحذوفة
وظيفة DelSelectedOptions(قائمة)
{
فار ط = 0؛
فار محذوفCnt = 0;
بينما (i <list.options.length)
{
إذا (list.options[i].selected)
{
list.options[i] = null;
DeletedCnt++;
}
آخر
{
أنا++;
}
}
إرجاع المحذوفCnt;
}
// تكتشف هذه الوظيفة ما إذا كان العنصر المقابل موجودًا أم لا
//repeatCheck ما إذا كان سيتم إجراء فحص التكرار
// إذا كانت "v"، فقم بإجراء فحص القيمة المكررة حسب القيمة
// إذا كانت "t"، فقم بإجراء فحص القيمة المكررة بناءً على النص
// إذا كانت "vt"، فقم بإجراء فحص القيمة المكررة حسب القيمة والنص
// القيم الأخرى، بدون التحقق من التكرار، تُرجع خطأ
الدالة OptionExists(list، optText، optValue، RepeatCheck)
{
فار ط = 0؛
فار تجد = خطأ؛
إذا (كرر التحقق == "v")
{
// التحقق من القيمة المكررة حسب القيمة
لـ (i=0; i<list.options.length; i++)
{
إذا (list.options[i].value == optValue)
{
تجد = صحيح؛
استراحة؛
}
}
}
وإلا إذا (كرر التحقق == "ر")
{
// كرر التحقق بالنص
لـ (i=0; i<list.options.length; i++)
{
إذا (list.options[i].text == optText)
{
تجد = صحيح؛
استراحة؛
}
}
}
وإلا إذا (repeatCheck == "vt")
{
// تكرار الاختيار حسب القيمة والنص
لـ (i=0; i<list.options.length; i++)
{
إذا ((list.options[i].value == optValue) && (list.options[i].text == optText))
{
تجد = صحيح؛
استراحة؛
}
}
}
العودة تجد؛
}
// إلحاق عنصر بالقائمة
// القائمة هي القائمة التي سيتم إلحاقها
يمثل //optText وoptValue نص العنصر وقيمته على التوالي
//repeatCheck ما إذا كان سيتم إجراء فحص التكرار، راجع OptionExists
// يُرجع صحيحًا إذا تمت إضافته بنجاح، ويُرجع خطأ إذا فشلت
وظيفة AppendOption(list، optText، optValue، RepeatCheck)
{
إذا (!OptionExists(list, optText, optValue, RepeatCheck))
{
list.options[list.options.length] = new Option(optText, optValue);
عودة صحيحة؛
}
آخر
{
عودة كاذبة.
}
}
// أدخل العنصر
// موضع إدراج الفهرس، عندما يكون موضع الإدراج > = عدد العناصر الموجودة في القائمة، فإن وظيفتها تعادل إلحاق العناصر دون التحقق المتكرر
يمثل //optText وoptValue نص العنصر وقيمته على التوالي
وظيفة InsertOption (قائمة، فهرس، optText، optValue)
{
فار ط = 0؛
لـ (i=list.options.length; i>index; i--)
{
list.options[i] = new Option(list.options[i-1].text, list.options[i-1].value);
}
list.options[index] = new Option(optText, optValue);
}
// تصدير العناصر من قائمة إلى قائمة أخرى
//repeatCheck ما إذا كان سيتم إجراء فحص التكرار، راجع OptionExists
// بعد استيراد عناصر الحذف إلى الهدف، ما إذا كان سيتم حذف العناصر الموجودة في قائمة المصدر
// إرجاع عدد العناصر المتأثرة
وظيفة ListToList(sList، dList، RepeatCheck،deleteSource)
{
// عدد الصفوف المتأثرة
خطوط فار = 0؛
فار ط = 0؛
بينما (i<sList.options.length)
{
إذا (sList.options[i].selected && AppendOption(dList, sList.options[i].text, sList.options[i].value, RepeatCheck))
{
// تمت الإضافة بنجاح
خطوط++;
إذا (حذف المصدر)
{
// حذف العناصر من قائمة المصدر
sList.options[i] = null;
}
آخر
{
أنا++;
}
}
آخر
{
أنا++;
}
}
خطوط العودة
}
// انقل العنصر المحدد لأعلى في القائمة
الدالة MoveSelectedOptionsUp(قائمة)
{
فار ط = 0؛
قيمة فار = "";
نص فار = "";
لـ (i=0; i<(list.options.length-1); i++)
{
إذا (!list.options[i].selected && list.options[i+1].selected)
{
value = list.options[i].value;
text = list.options[i].text;
list.options[i] = new Option(list.options[i+1].text, list.options[i+1].value);
list.options[i].selected = true;
list.options[i+1] = new Option(text, value);
}
}
}
// انقل العنصر المحدد لأسفل في القائمة
الدالة MoveSelectedOptionsDown(قائمة)
{
فار ط = 0؛
قيمة فار = "";
نص فار = "";
لـ (i=list.options.length-1; i>0; i--)
{
//www.VeVB.COM
إذا (!list.options[i].selected && list.options[i-1].selected)
{
value = list.options[i].value;
text = list.options[i].text;
list.options[i] = new Option(list.options[i-1].text, list.options[i-1].value);
list.options[i].selected = true;
list.options[i-1] = new Option(text, value);
}
}
}