提问人:Endless Infinity 提问时间:1/3/2022 更新时间:1/3/2022 访问量:818
使用 jquery mobile 从选择选项中获取“未定义”值
Getting 'undefined' value from select options using jquery mobile
问:
我试图从我在列表中选择的任何选项中获取选定的值。但是,它提到“未定义”
<fieldset data-role="controlgroup">
<legend>Select Pizza Flavor </legend>
<select name="flavorlist" id="flavorlist" onclick="total()">
<option value= "">-Select Flavor-</option>
<option value="6">Cheezy Chicken (RM6)</option>
<option value="6">Spicy Chicken (RM6)</option>
<option value="5">Hawaii (RM5)</option>
<option value="6">Peperroni (RM6)</option>
<option value="5">Seafood (RM5)</option>
<option value="5">Beef (RM5)</option>
</select>
</fieldset>
JavaScript的
function flavorprice()
{
var flavorprice = 0
var list = document.getElementsByName("flavorlist");
flavorprice = list.value;
return flavorprice;
}
我试过了
function flavorprice()
{
var flavorprice = 0
var list = document.getElementsByName("flavorlist");
flavorprice = list.options[list.selectedIndex].value;
return flavorprice;
}
仍然没有价值。如何解决这个问题? 我正在学习jquery mobile。 我还没有习惯 $,因为我对这个主题真的很陌生。
答:
0赞
Rory McCrossan
1/3/2022
#1
问题是因为返回的是 NodeList,而不是 Element。因此,该属性是未定义的。getElementsByName()
value
要解决眼前的问题,您可以改为通过其 来选择元素,因为这在 DOM 中应该是唯一的,并且只会返回一个元素:id
function flavorprice() {
return document.getElementById("flavorlist").value || 0;
}
但是请注意,当您使用 jQuery mobile 时,您可以使用 jQuery 方法来实现相同的目的:
function flavorprice() {
return $('#flavorlist').val() || 0;
}
// ES6 version of the above:
let flavorprice = () => $('#flavorlist').val() || 0;
评论