我有一个相当不同的HTML结构,我正在尝试获取下拉列表的选定值,如下面的代码所示:
<div class="quantityDropdown quantityDropdown-cartItem">
<select id="qtySelect-61224b70-7b26-11e6-91d5-6921d6fe7421" class="cart-quantity-picker"
data-orderitem="61224b70-7b26-11e6-91d5-6921d6fe7421">
<option value="1">1</option>
<option value="2" selected="">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
我的代码返回null
。
我希望得到2作为我的价值。如您所见,selected
属性中没有值。
var quantity = document.querySelector(".quantityDropdown select").getAttribute("selected");
如何获得选项标记之外的值2?
答案 0 :(得分:2)
这将为您提供所选项目的值:
quantity = document.querySelector(".quantityDropdown select").value;
但是,如果您想要所选项目的实际内容(即显示的文本),请使用:
var quantity = document.querySelector(".quantityDropdown select")[document.querySelector(".quantityDropdown select").selectedIndex].innerHTML;
答案 1 :(得分:1)
使用document.querySelector(".quantityDropdown select").selectedIndex
答案 2 :(得分:1)
要获取所选的选项值,您需要在select元素上使用两个属性:options
和selectedIndex
来获取html选项元素,然后您就可以获得该值。
const dropdown = document.querySelector('.cart-quantity-picker')
console.log('selectedIndex', dropdown.selectedIndex)
console.log('options', dropdown.options)
console.log('selected', dropdown.options[dropdown.selectedIndex].value)
&#13;
<div class="quantityDropdown quantityDropdown-cartItem">
<select id="qtySelect-61224b70-7b26-11e6-91d5-6921d6fe7421" class="cart-quantity-picker" data-orderitem="61224b70-7b26-11e6-91d5-6921d6fe7421">
<option value="1">1</option>
<option value="2" selected>2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
</div>
&#13;
答案 3 :(得分:1)
如果你需要获得'价值':
Trigger
但是如果你想获得文本ΝΟΤ值,你可以:
var dropdown = document.getElementById("qtySelect-61224b70-7b26-11e6-91d5-6921d6fe7421");
var selValue = dropdown.options[dropdown.selectedIndex].value;
答案 4 :(得分:1)
<select id="ddlViewBy">
<option value="1">test1</option>
<option value="2" selected="selected">test2</option>
<option value="3">test3</option>
</select>
答案 5 :(得分:1)
你应该得到选项标签,如下所示:
var quantity = document.querySelector(".quantityDropdown select option:checked");
您也可以使用已选中复选框和广播。
答案 6 :(得分:0)
要获得价值,您可以使用
document.querySelector('#qtySelect option:checked').value;
要在选项中获取实际文本,请使用
document.querySelector('#qtySelect option:checked').text;