Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改时的Javascript警报(显示错误)_Javascript_Jquery - Fatal编程技术网

更改时的Javascript警报(显示错误)

更改时的Javascript警报(显示错误),javascript,jquery,Javascript,Jquery,试图从select向所选选项发出警报,但未发出警报 它显示了一个错误: {“message”:“未捕获的TypeError:无法读取的属性'value' 空,“文件名”:“行号”:18, “科尔诺”:43} 我试过: 函数选择选项(){ var x=document.getElementById(“item1”).value; 警报(“您选择:“+x”); 如果(选项==“项目”){ 返回true; }否则如果(选项==“ZZ2017TF11A1”){ 返回true; }否则如果(选项==“Z

试图从select向所选选项发出警报,但未发出警报

它显示了一个错误:

{“message”:“未捕获的TypeError:无法读取的属性'value' 空,“文件名”:“行号”:18,
“科尔诺”:43}

我试过:

函数选择选项(){
var x=document.getElementById(“item1”).value;
警报(“您选择:“+x”);
如果(选项==“项目”){
返回true;
}否则如果(选项==“ZZ2017TF11A1”){
返回true;
}否则如果(选项==“ZZ2017TF11A2”){
返回true;
}
返回false;
}

项目
衬衫
喘气

如果使用
document.getElementById(“item1”)
,请在
元素中添加
id=“item1”

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

#item1
指的是ID,您只在HTML中指定了
名称

<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>

项目
衬衫
喘气

您还忘了定义
选项
,您可以通过
$(“#item1 option”)

来实现这一点。如果需要使用纯
JavaScript
(不使用
jQuery
),您可以尝试这一点。我做了一些修改,使代码更容易理解

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
字段

<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部分。因为它不可用。

请尝试以下操作:

功能选择选项(元素){
var x=element.options[element.selectedIndex].text;
警报(“您选择:“+x”);
var option=element.options[element.selectedIndex].value;
如果(选项==“项目”){
返回true;
}否则如果(选项==“ZZ2017TF11A1”){
返回true;
}否则如果(选项==“ZZ2017TF11A2”){
返回true;
}
返回false;
}

项目
衬衫
喘气
函数选择选项(){
$(this).html(警报(“您选择的:+$(“#item1”).val());//用于所选选项值
$(this).html(console.log(“您选择:”+$(“#item1 option:selected”).text());//用于所选选项文本
}

项目
衬衫
喘气

非常感谢您解决了这个错误。但是,它仍然有一个
错误:{“message”:“uncaughtreferenceerror:option未定义”,“filename”:https://stacksnippets.net/js“,“lineno”:20,“colno”:3}
<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>