我在下面有这个代码。尝试获取所选选项的值,但第一个给出错误,test.parent 不是函数,第二个变量得到一个空字符串。我怎样才能做到这一点?
<select unselectable="on" name="gender">
<option value="Male" unselectable="on">Male</option>
<option value="Female" unselectable="on">Female</option>
</select>
<input value="Submit" onclick="addItem(this)" type="button">
<script>
function addItem(test){
var selected_val1 = test.parent('#gender option:selected').val();
var selected_val2 = $("#gender option:selected").text();
}
</script>
最佳答案
您将 this
传递给 addItem()
函数,并将其缓存为 test
,这不是一个 jQuery 对象,而是原生 DOM 节点。
然后你正在执行 test.parent('#gender option:selected').val();
,但是 test
没有父方法,也没有有一个父选择元素。
选择的是前一个元素,因此您应该使用prev
$(test).prev('[name="gender"]').find('option:selected').val();
或者只是
$(test).prev('select').val();
看起来更容易
关于javascript - Jquery按钮点击获取所选选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26894395/