javascript - if 语句发生变化

标签 javascript jquery if-statement

我想检查的动态值和变量:

jQuery("select.super-attribute-select").change(function() {
  //console.log("New Product ID: " + this.value);
  var option_id11 = "Yes";
  var option_id12 = "No";
  var selectedvalue = this.value;

  //var optionvalue = "option_id"+selectedvalue;

  if ("option_id" + selectedvalue === "Yes") {
    console.log('hide');
  } else if ("option_id" + selectedvalue === "No") {
    console.log('show');
  } else {
    console.log('Nothing');
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="super_attribute[161]" data-selector="super_attribute[161]" data-validate="{required:true}" id="attribute161" class="super-attribute-select" aria-required="true">
  <option value="">Choose an Option...</option>
  <option value="11">REFURB</option>
  <option value="12">NEW</option>
</select>

但它总是在控制台中显示Nothing。请帮忙

最佳答案

您不能使用表示变量名称的字符串来调用变量。尝试创建一个对象来指定值:

jQuery("select.super-attribute-select").change(function() {
       //console.log("New Product ID: " + this.value);

        var options = {
          option_id11: "Yes",
          option_id12: "No"
        }

        var selectedvalue = this.value;

        var selectedOptionValue = options["option_id"+selectedvalue];

        if (selectedOptionValue === "Yes") {
            console.log('hide');
        } else if (selectedOptionValue === "No") {
            console.log('show');
        } else {
            console.log('Nothing');
        }

    });

关于javascript - if 语句发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54983099/

相关文章:

javascript - 当用户移动并按住鼠标时 Canvas 发出警报

javascript - 如何修复 jquery 库中的 'jQuery is not defined' 错误?

javascript - 使用 jquery 创建选中的复选框数组

mysql - 选择一个字段。如果为空,则选择另一个

javascript - jQuery live 与时间选择器

javascript - 如何在 jQuery 中解析此 API 返回值?

jquery - 内容加载后如何全方位展开div?

javascript - 使用 dataTables dom 定位元素

java - 优雅地替代开关结构

bash - 如何检查给定路径中是​​否存在目录