我有这样的代码,圣经的书籍都在一个元素中:
<option value="1">Genesis</option>
<option value="2">Exodus</option>
<option value="3">Leviticus</option>
<option value="4">Numbers</option>
<option value="5">Deuteronomy</option>
<option value="6">Joshua</option>
<option value="7">Judges</option>为了进一步解释,我有一个作为图书ID的值,所以当我从我的数据库中获取所有的诗句时,我可以通过书号来引用它们。
但是这样做,我没有办法让用户看到友好的名字,像“创世纪”,所以我可以这样格式化它。
如何获取这个(当前选定的一个,即“创世纪”而不是'1')来自JavaScript?
发布于 2014-01-13 00:12:13
将getElementById的结果保存到像sel这样的变量中,然后执行以下操作:
var text = sel.options[sel.selectedIndex].text;Select元素具有一个.options属性,它为您提供了其所有嵌套选项元素的类似数组的集合。它们还有一个.selectedIndex属性,它返回当前选定元素的索引。
使用这两个选项,您可以获得当前选定的选项。然后,只需使用.text获取所选option的文本内容。
如果您不需要支持IE6/7,可以使用document.querySelector()来缩短时间。
var text = document.querySelector("#the_select_id option:selected").text;querySelector()方法返回单个元素,如果没有找到,则返回null。还有一个querySelectorAll()方法,它将返回一个元素集合,用于选择器何时匹配多个元素。
发布于 2014-01-12 23:19:15
如果父元素将name=“book”作为属性,并且是select元素,则可以使用jQuery:
var bookName = $('select[name="books"] option:selected').text();如果父元素有一个id=“book”作为属性,并且是一个select元素,那么您可以使用普通的JavaScript (可能会在以下基础上进行改进)来完成这个任务:
var books = document.getElementById('books');
var bookName = books.options[books.selectedIndex].text;https://stackoverflow.com/questions/21081130
复制相似问题