如何在“if”语句中比较<选项>“数据名称”

How to compare <option> “data-names” in an “if” statement?

本文关键字:选项 数据名称 数据 比较 if 语句      更新时间:2023-09-26

我有一个小问题。我有带有"值"和"数据名称"的选项。

<option value=”A” data-name1=”X”>
<option value=”B” data-name1=”Y”>

如果所选选项是某个"数据名称",我希望计算机返回特定值

假设有 2 个"数据名称",X 和 Y。

如何将所选选项的数据名称与 2 个数据名称 X 和 Y 进行比较,以找出它是哪一个?

我在想这样的事情:


var data_name1 = e.options[e.selectedIndex].dataset.name1; 
if (data_name1 == “X”) {
…
}
else if (data_name == “Y”) {
…
}
else {
…
}

这可能吗?

谢谢!

完整代码---

<script>
document.getElementById("selectElement").selectedIndex = -1; // so that no option //is selected when the page is loaded
function getData(){
  var e = document.getElementById("qwert"); // get the <select> element
  var data_name1 = e.options[e.selectedIndex].dataset.name1; // get the selected //<option> and its name1 data attribute
  
 // var data_name2 = e.options[e.selectedIndex].dataset.name2;  get the selected //<option> and its name2 data attribute
 
  var value = e.options[e.selectedIndex].value; // get the value of the selected <option>
//Result
document.getElementById("data1").innerHTML = data_name1;
  document.getElementById("value").innerHTML = value;  
}
</script>


<select id="qwert" onclick="getData ()">
<option value="135" data-name1="M">A</option>
            <option value="150" data-name1="R">B</option>
            <option value="51" data-name1="R">C</option>
            <option value="27" data-name1="M">D</option>
</select>
<p>
  <label>data-name1 = </label>
  <span>"</span><span id="data1"></span><span>"</span>
</p>
<p>
  <label>value = </label>
  <span>"</span><span id="value"></span><span>"</span>
</p>

您需要使用 == 运算符来比较对象。

= 是一个赋值表达式。

if (data_name1 == “X”) {
   // Operations if data_name is equal to X
}
else if (data_name == “Y”) {
  // Operations is data_name is equal to Y
}
else {
}