Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.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函数中读取html下拉菜单中选定项的值_Javascript_Html - Fatal编程技术网

如何在javascript函数中读取html下拉菜单中选定项的值

如何在javascript函数中读取html下拉菜单中选定项的值,javascript,html,Javascript,Html,我有一个html表单,其中包含一个下拉菜单,如下所示 <form name= "gadget_selector"> <select name= "gadget"> <option value = 0> Something </option> <option value = 1> Something else </option> //etc.. </sele

我有一个html表单,其中包含一个下拉菜单,如下所示

<form name= "gadget_selector">
    <select name= "gadget">
        <option value = 0> Something </option>
        <option value = 1> Something else </option>
        //etc..
    </select> 
</form> 
我该怎么做

var option = document.getElementById('gadget').value;
还将gadget设置为select的id,如下所示:

<select id="gadget" name="gadget">
        <option value = 0> Something </option>
        <option value = 1> Something else </option>
        //etc..
    </select> 
<script>
export default {
  name: 'MyComponent',

  data() {
    return {
      myValueName: 123
    };
  },

  watch: {
    myValueName() {
      //
      // Will log "Value: 123" and "Value: 456" instead of 
      // "123" and "456".
      //
      console.log(this.$refs['mySelectRef'].selectedOptions[0].text);
    }
  }
}
</script>

<template>
  <select ref="mySelectRef" v-model="myValueName">
    <option :value="123">Value: 123</option>
    <option :value="456">Value: 456</option>
  </select>
</template>

<style>
</style>
将id分配给选择框小工具:


首先,为标记分配一个id


您可以通过id访问,如下所示:=

    <form name= "gadget_selector" >
        <select name= "gadget" id='sel'>
            <option value = 0> Something </option>
            <option value = 1> Something else </option>
            //etc..
        </select> 
    </form> 


    function getvalue(){

       if(document.getElementById('sel'))
       {
         alert(document.getElementById('sel').value);
         var option = document.getElementById('sel').value;
       }

    }
包括一个id属性来选择元素,并按如下操作,我确信我会工作

var obj = document.getElementById("gadget");
alert(obj.value); // returns selected option value   (1st method)
var selectedOption = obj.options[obj.selectedIndex]; // returns selected option element
alert(selectedOption.value); // return selected option value (2nd method)

示例:

此处表单[0]是从页面顶部到底部从0开始的表单编号

function someFunction(){
    var option = window.document.forms[0].gadget.value;
}

老问题,但也许其他人也像我一样来到这里,所以我将添加我的解决方案:

最干净的方法是引用select字段,使用模型支持select,并添加如下观察者:

<select id="gadget" name="gadget">
        <option value = 0> Something </option>
        <option value = 1> Something else </option>
        //etc..
    </select> 
<script>
export default {
  name: 'MyComponent',

  data() {
    return {
      myValueName: 123
    };
  },

  watch: {
    myValueName() {
      //
      // Will log "Value: 123" and "Value: 456" instead of 
      // "123" and "456".
      //
      console.log(this.$refs['mySelectRef'].selectedOptions[0].text);
    }
  }
}
</script>

<template>
  <select ref="mySelectRef" v-model="myValueName">
    <option :value="123">Value: 123</option>
    <option :value="456">Value: 456</option>
  </select>
</template>

<style>
</style>

谢谢这正是我需要的!val是香草javascript吗?我认为它属于jQuery。我很确定这不会起作用。val不是任何浏览器的本机函数。你在寻找的是价值,而不是。瓦拉,是的。我的错。使用jquery的次数太多,我试图执行一个测试var option=document.getElementById'gadget'.val;警报选项;还是不行。第一个帖子不太管用either@Zack:我用document.getElementById'gadget'.value检查它是否正常工作。所以在控制台中检查所有html标记或javascript错误。即使尝试使用简单的javascript警报,如果它是否有效。可能是其他有冲突的东西可能是
var obj = document.getElementById("gadget");
alert(obj.value); // returns selected option value   (1st method)
var selectedOption = obj.options[obj.selectedIndex]; // returns selected option element
alert(selectedOption.value); // return selected option value (2nd method)
function someFunction(){
    var option = window.document.forms[0].gadget.value;
}
<script>
export default {
  name: 'MyComponent',

  data() {
    return {
      myValueName: 123
    };
  },

  watch: {
    myValueName() {
      //
      // Will log "Value: 123" and "Value: 456" instead of 
      // "123" and "456".
      //
      console.log(this.$refs['mySelectRef'].selectedOptions[0].text);
    }
  }
}
</script>

<template>
  <select ref="mySelectRef" v-model="myValueName">
    <option :value="123">Value: 123</option>
    <option :value="456">Value: 456</option>
  </select>
</template>

<style>
</style>