首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取HTML选择元素的预选值。

获取HTML选择元素的预选值。
EN

Stack Overflow用户
提问于 2017-12-26 21:01:20
回答 5查看 2.9K关注 0票数 3

或者通过示例,无论用户是否更改了"c“,如何通过JavaScript或jQuery检索”c“?

代码语言:javascript
复制
<select id="select-menu">
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c" selected>C</option>
    <option value="d">D</option>
</select>

但是,它返回当前选定菜单的值。我想我可以采取一种类似的方法,在页面加载上运行并保存值,但希望有一种更“适当”的方法来这样做。

代码语言:javascript
复制
$('#select-menu > option').each(function(i){
    if(this.selected) {
        console.log(this.value)
         $("#submit").val(this.value);
         return false;
    }
})
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2017-12-26 21:09:16

使用jQuery .attr()获取初始值:

代码语言:javascript
复制
function get_initial(){

    $('#select-menu > option').each(function(i){
    
        if($(this).attr('selected')) {
            console.log('initial: ' + this.value)
        }

        if(this.selected) {
            console.log('current: ' + this.value)
        }
    
    })

}

$('.initial').on('click', get_initial);
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select-menu">
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c" selected>C</option>
    <option value="d">D</option>
</select>

<button class="initial">check initial</button>

票数 2
EN

Stack Overflow用户

发布于 2017-12-26 21:05:18

没有更好的办法了。选择是指用户可修改的。

如果要保留原始值,可以在加载时保存它:

代码语言:javascript
复制
$(document).ready(function() {
    var initialValue = $("#select-menu").val();
});

您还可以将其写入隐藏的输入中:

代码语言:javascript
复制
<input type="hidden" name="initial-select-menu" value="c">

这种方法的好处是,值将与表单的其余部分一起提交。在某些情况下可能更好。

也可以将初始值填充到data属性中:

代码语言:javascript
复制
<select id="select-menu" data-initial="c">
    <option value="a">A</option>
    <option value="b">B</option>
    <option value="c" selected>C</option>
    <option value="d">D</option>
</select>
票数 2
EN

Stack Overflow用户

发布于 2017-12-26 21:04:20

您可以将值保存在html5数据-*属性上:

代码语言:javascript
复制
<select id="select-menu" data-default="c">

把它拿来

代码语言:javascript
复制
$("#select-menu").attr("data-default");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47983658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档