简体   繁体   English

如何使用 Javascript 获取选项元素的值(选自 select 列表)'value' 属性

[英]How to get the value of option element (selected from select list ) 'value' attribute using Javascript

 <select id="tournaments-name-list" style="display: block; width: 50%;"> <option disabled="" selected="" hidden="">Select Tournaments From List</option> <option class="tournaments-name" value="38299">AMANORA CA Inter Firm Cricket 2019</option> <option class="tournaments-name" value="47132">Amanora Champions Trophy 2019</option> <option class="tournaments-name" value="197831">Amanora Cricket Championship 2021</option> <option class="tournaments-name" value="973">Amanora Cricket League 2017</option> <option class="tournaments-name" value="79846">Amanora Cricket League Nov 2019</option> <option class="tournaments-name" value="1865">Amanora RSC 2017-18</option> <option class="tournaments-name" value="109151">Amanora Super League 2020</option> <option class="tournaments-name" value="31679">AMANORA SUPER LEAGUE JAN FEB 2019</option> <option class="tournaments-name" value="26011">RSC AMANORA CRICKET LEAGUE WINTER 2018</option> </select>

Check the code snippet.检查代码片段。 I want to use the numeric value of the "value" attribute of the "option" element of only the selected one and also after selection is made.我只想使用所选元素的“选项”元素的“值”属性的数值,以及在进行选择之后。 Then, I use it in javascript to fetch data.然后,我在 javascript 中使用它来获取数据。 The select element is not a part of any form element. select 元素不是任何表单元素的一部分。

You can use the onchange event of the select element.您可以使用select元素的onchange事件。

 function handleChange(event) { const value = event.target.value; console.log(value) }
 <select id="tournaments-name-list" style="display: block; width: 50%;" onchange="handleChange(event)"> <option disabled="" selected="" hidden="">Select Tournaments From List</option> <option class="tournaments-name" value="38299">AMANORA CA Inter Firm Cricket 2019</option> <option class="tournaments-name" value="47132">Amanora Champions Trophy 2019</option> <option class="tournaments-name" value="197831">Amanora Cricket Championship 2021</option> <option class="tournaments-name" value="973">Amanora Cricket League 2017</option> <option class="tournaments-name" value="79846">Amanora Cricket League Nov 2019</option> <option class="tournaments-name" value="1865">Amanora RSC 2017-18</option> <option class="tournaments-name" value="109151">Amanora Super League 2020</option> <option class="tournaments-name" value="31679">AMANORA SUPER LEAGUE JAN FEB 2019</option> <option class="tournaments-name" value="26011">RSC AMANORA CRICKET LEAGUE WINTER 2018</option> </select>

 function change() { const selectValue = document.getElementById("tournaments-name-list").value; alert(selectValue) }
 <select id="tournaments-name-list" style="display: block; width: 50%;" onchange="change()"> <option disabled="" selected="" hidden="">Select Tournaments From List</option> <option class="tournaments-name" value="38299">AMANORA CA Inter Firm Cricket 2019</option> <option class="tournaments-name" value="47132">Amanora Champions Trophy 2019</option> <option class="tournaments-name" value="197831">Amanora Cricket Championship 2021</option> <option class="tournaments-name" value="973">Amanora Cricket League 2017</option> <option class="tournaments-name" value="79846">Amanora Cricket League Nov 2019</option> <option class="tournaments-name" value="1865">Amanora RSC 2017-18</option> <option class="tournaments-name" value="109151">Amanora Super League 2020</option> <option class="tournaments-name" value="31679">AMANORA SUPER LEAGUE JAN FEB 2019</option> <option class="tournaments-name" value="26011">RSC AMANORA CRICKET LEAGUE WINTER 2018</option> </select>

You can get the current selected value using this:您可以使用以下方法获取当前选定的值:

const target = window['tournaments-name-list'];
const value = target.value;

If you want to get the current value each time your select changes, then you can use something like this:如果您想在每次 select 更改时获取当前值,那么您可以使用如下代码:

const target = window['tournaments-name-list'];
let value = null;
const updateValue = () => {
   value = target.value;
   console.log('Your value:', value);
};
target.addEventListener('change', updateValue);

in javascript pure you can do like below:在 javascript pure 中,您可以执行以下操作:

  var selectedValue= document.getElementById("tournaments-name-list").value

in jquery you can do like below as well:在 jquery 你也可以像下面这样:

 var selectedValue = $('#tournaments-name-list').val()

and now you have the selected value现在你有了选定的值

if I would rewrite you code:如果我重写你的代码:

var selectedValue

function getValue(){
  selectedValue= document.getElementById("tournaments-name-list").value
}

<select id="tournaments-name-list" style="display: block; width: 50%;" onchange="getValue()">
  <option disabled="" selected="" hidden="">Select Tournaments From List</option>
  <option class="tournaments-name" value="38299">AMANORA CA Inter Firm Cricket 2019</option>
  <option class="tournaments-name" value="47132">Amanora Champions Trophy 2019</option>
  <option class="tournaments-name" value="197831">Amanora Cricket Championship 2021</option>
  <option class="tournaments-name" value="973">Amanora Cricket League 2017</option>
  <option class="tournaments-name" value="79846">Amanora Cricket League Nov 2019</option>
  <option class="tournaments-name" value="1865">Amanora RSC 2017-18</option>
  <option class="tournaments-name" value="109151">Amanora Super League 2020</option>
  <option class="tournaments-name" value="31679">AMANORA SUPER LEAGUE JAN FEB 2019</option>
  <option class="tournaments-name" value="26011">RSC AMANORA CRICKET LEAGUE WINTER 2018</option>
</select>

Hi you can try this method你好 你可以试试这个方法

    <select id="tournaments-name-list" style="display: block; width: 50%;" onchange="getValue()">
    <option disabled="" selected="" hidden="">Select Tournaments From List</option>
    <option class="tournaments-name" value="38299">AMANORA CA Inter Firm Cricket 2019</option>
    <option class="tournaments-name" value="47132">Amanora Champions Trophy 2019</option>
    <option class="tournaments-name" value="197831">Amanora Cricket Championship 2021</option>
    <option class="tournaments-name" value="973">Amanora Cricket League 2017</option>
    <option class="tournaments-name" value="79846">Amanora Cricket League Nov 2019</option>
    <option class="tournaments-name" value="1865">Amanora RSC 2017-18</option>
    <option class="tournaments-name" value="109151">Amanora Super League 2020</option>
    <option class="tournaments-name" value="31679">AMANORA SUPER LEAGUE JAN FEB 2019</option>
    <option class="tournaments-name" value="26011">RSC AMANORA CRICKET LEAGUE WINTER 2018</option>
  </select>

<div id="show">
    
</div>
<script>
    function getValue() {
        var select = document.getElementById('tournaments-name-list')
        var valuee = select.options[select.selectedIndex].value
        console.log(valuee)
    }
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM