मेरे पास यह तालिका है और इसमें ये विकल्प हैं। मैं यह करना चाहता हूं कि जब मैं पहली चयन सूची में बाइनरी का चयन करता हूं, तो यह दूसरी चयन सूची में स्वचालित रूप से नहीं चुना जाएगा। मित्र ने मुझे बताया कि यह जावास्क्रिप्ट में किया जा सकता है लेकिन वह और मैं नहीं जानते कि कैसे।

बेहतर ढंग से समझने के लिए: यदि मैं पहले चयनकर्ता में मूल्य 2 के साथ एक विकल्प का चयन करता हूं, तो इसे दूसरे चयन में चुनना संभव नहीं होगा

तो अगर कोई मेरी मदद कर सकता है, तो कृपया उत्तर दें

<tr>
  <td class="center"> 
    <select id="notationoption" name="notation_from">
      <option value="2">Binary</option>
      <option value="3">Ternary</option>
      <option value="4">Quaternary</option>
    </select>
  </td> 
</tr>
<tr>
  <td class="center"> 
    <select id="notationoption" name="notation_to">
    <option value="2">Binary</option>
    <option value="3">Ternary</option>
    <option value="4">Quaternary</option> 
    </select>
  </td> 
</tr> 
1
Mazurky 14 जून 2020, 13:49

1 उत्तर

सबसे बढ़िया उत्तर

आप दूसरे चयन में समान मान वाले विकल्प को अक्षम करने के लिए पहले चयन पर परिवर्तन ईवेंट का उपयोग कर सकते हैं। साथ ही, आपके पास एक ही आईडी वाले दो तत्व नहीं हो सकते हैं, इसलिए आपको अपना दूसरा चयन एक अलग आईडी देना होगा।

const select1 = document.getElementById("notationoption1");
const select2 = document.getElementById("notationoption2");
select1.addEventListener("change", e=>{
  const disabled = select2.querySelector("option[disabled]");
  if(disabled) disabled.disabled = false;
  select2.querySelector("option[value='"+ select1.value + "']").disabled = true;
});
<tr>
  <td class="center"> 
    <select id="notationoption1" name="notation_from">
      <option value="2">Binary</option>
      <option value="3">Ternary</option>
      <option value="4">Quaternary</option>
    </select>
  </td> 
</tr>
<tr>
  <td class="center"> 
    <select id="notationoption2" name="notation_to">
    <option value="2" disabled>Binary</option>
    <option value="3">Ternary</option>
    <option value="4">Quaternary</option> 
    </select>
  </td> 
</tr> 
1
iota 14 जून 2020, 15:27