اذهب إلى المحتوى
  • 0

كيف أقوم بربط مجموعة من عناصر <select> ببعضها البعض باستخدام JS AJAX؟

Omar Abdelaziz4

السؤال

السلام عليكم

لقد قمت بإنشاء صفحة HTML

لدي form ويوجد بداخله 3 عناصر <select>، وكل عنصر يحتوي على 3 اختيارات، ويتم تكرار الـ 3 اختيارات في باقي عناصر <select>،

لكني اريد لو تم اختيار الإختيار الأول في عنصر <select> الأول،

يقوم تلقائيًا بإخفاء العنصر الأول بين بقية العناصر.

و شكرًا لكم

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

ما فهمته هو أن لديك صفحة HTML تحتوي على نموذج (form) وثلاثة عناصر select، حيث يحتوي كل select على ثلاثة اختيارات، وعند اختيار أي اختيار في ال select، أريد أن يتم تعطيل ذلك الاختيار في ال select الباقي تلقائيًا. 

ويتم الأمر كالتالي:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Unique Selection</title>
</head>
<body>

<form>
  <select id="select1" onchange="handleSelectChange(1)">
    <option value="">Select an option</option>
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
  </select>

  <select id="select2" onchange="handleSelectChange(2)">
    <option value="">Select an option</option>
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
  </select>

  <select id="select3" onchange="handleSelectChange(3)">
    <option value="">Select an option</option>
    <option value="option1">Option 1</option>
    <option value="option2">Option 2</option>
    <option value="option3">Option 3</option>
  </select>
</form>

<script>
  function handleSelectChange(selectedIndex) {
    const selectedOption = document.getElementById(`select${selectedIndex}`).value;

    for (let i = 1; i <= 3; i++) {
      if (i !== selectedIndex) {
        const selectElement = document.getElementById(`select${i}`);

        for (let j = 0; j < selectElement.options.length; j++) {
          const option = selectElement.options[j];

          if (option.value === selectedOption || selectedOption === "") {
            option.disabled = true;
          } else {
            option.disabled = false;
          }
        }
      }
    }
  }
</script>

</body>
</html>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هذا جيد، لكن إذا تم تحديد التحديد الأول في العنصر الأول، و التحديد الثاني في العنصر الثاني، ولكن العنصر الأول يظهر في التحديد الثالث، وهذا لا أريده.

تم التعديل في بواسطة Omar Abdelaziz4
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...