首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript更改警报(显示错误)

Javascript更改警报(显示错误)
EN

Stack Overflow用户
提问于 2017-11-12 06:58:34
回答 5查看 339关注 0票数 0

尝试从select通知所选选项,但它没有发出警报。

它显示了一个错误:

{“消息”:"Uncaught :无法读取空的属性值“,”文件名“:"https://stacksnippets.net/js","lineno":18, "colno":43 }

我试过:

代码语言:javascript
复制
function selectOption() {
  var x = document.getElementById("item1").value;
  alert("You selected: " + x);
  if (option == "Item") {

    return true;
  } else if (option == "ZZ2017TF11A1") {
    return true;
  } else if (option == "ZZ2017TF11A2") {
    return true;
  }

  return false;
}
代码语言:javascript
复制
<select class="country" name="item1" onChange="selectOption()">
  <option value="Select Item">Item</option>
  <option value="ZZ2017TF11A1">Shirt</option>
  <option value="ZZ2017TF11A2">Pant</option>
</select>

如何解决?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-11-12 08:15:34

如果您需要使用纯JavaScript(没有jQuery)进行此操作,则可以尝试以下操作。为了使代码更容易理解,我做了一些修改。

代码语言:javascript
复制
function selectOption() {
  var elem = document.getElementById("item1");

  // get selected option value
  var selectedOptVal = elem.options[elem.selectedIndex].value;
  alert("You selected: " + selectedOptVal);

  // get selected option text
  var selectedOptTxt = elem.options[elem.selectedIndex].text;

  if (selectedOptTxt == "Item") {
    return true;
  } else if (selectedOptTxt == "ZZ2017TF11A1") {
    return true;
  } else if (selectedOptTxt == "ZZ2017TF11A2") {
    return true;
  }

  return false;
}

在select标记中添加id字段。

代码语言:javascript
复制
<select class="country" id="item1" name="item1" onChange="selectOption()">
  <option value="Select Item">Item</option>
  <option value="ZZ2017TF11A1">Shirt</option>
  <option value="ZZ2017TF11A2">Pant</option>
</select>

另外,请关注您的嵌套-if部分。因为它不能用。

票数 1
EN

Stack Overflow用户

发布于 2017-11-12 07:02:16

如果使用document.getElementById("item1"),则在<select>元素中添加id="item1"

票数 0
EN

Stack Overflow用户

发布于 2017-11-12 07:03:33

只需使用$('#item1').val()

代码语言:javascript
复制
function selectOption() {
    var x = $('#item1').val();
    var option = $('#item1 option');
    alert("You selected: " + x);

    if (option == "Item") {
        return true;
    } else if (option == "ZZ2017TF11A1") {
        return true;
    } else if (option == "ZZ2017TF11A2") {
        return true;
    }

    return false;
}

#item1指的是ID,您只在name中指定了这个ID。

代码语言:javascript
复制
<select id="item1" class="country" name="item1" onChange="selectOption()">
  <option value="Select Item">Item</option>
  <option value="ZZ2017TF11A1">Shirt</option>
  <option value="ZZ2017TF11A2">Pant</option>
</select>

您还忘记了定义option$('#item1 option')可以这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47246312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档