【问题标题】:Displaying selected option显示选择的选项
【发布时间】:2014-03-04 20:53:27
【问题描述】:

尝试让我的页面显示文本,直接在选择框下方,基于下拉列表中选择的内容。到目前为止,我有:

Choose one:</br>
<select name="book" id="book">
<option value="empty" selected disabled></option>
<option value="Book1">Book1</option>
<option value="Book2">Book2</option>
<option value="Book3">Book3</option>
<option value="Book4">Book4</option>
</select></br></br>

带脚本:

<script src="jquery.js"></script>
<script>
$('#book').change(function() {
  alert('You chose ' + $(this).text() + '.');
});
</script>

问题是它显然会创建一个不是我想要的警报窗口,并且它还显示整个列表而不仅仅是选定的项目。我将使用什么来代替警报将其直接显示在选择框下方?为什么它显示整个列表而不是只显示选定的选项?提前感谢您的知识。

【问题讨论】:

    标签: jquery select alert onchange options


    【解决方案1】:

    在更改时,选择值将成为选定选项,因此只需在选择之后插入值,最好在元素内:

    $('#book').on('change', function() {
        $('#result_element').text( this.value );
    });
    

    FIDDLE

    【讨论】:

    • 随着选择不断变化,这不会添加越来越多的div吗?
    • @nnnnnn - 肯定会的!
    • 好的。好吧,我将把它称为一项功能并给你 +1。
    • @nnnnnn - 我删除了那个“功能”,并添加了一个小提琴。
    • 但那是我最喜欢的功能!我想我会让你继续投票。对于 OP,您的 $(this).text() 正在获取整个列表,因为这就是 .text() 应该做的:它获取您调用它的元素的文本内容,然后您在 select 元素上调用它。您可以使用$(this).val() 来获取所选值,或者更好的是this.value,如this answer所示。
    猜你喜欢
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 2018-06-04
    • 2017-04-10
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    相关资源
    最近更新 更多