将选择值重置为默认值

时间:2013-06-04 08:30:17

标签: javascript jquery html

我有选择框

<select id="my_select">
    <option value="a">a</option>
    <option value="b" selected="selected">b</option>
    <option value="c">c</option>
</select>

<div id="reset">
    reset
</div>

我还有重置按钮,这里默认(选中)值为“b”,假设我选择“c”并且在我需要重新选择框值为默认值后,如何使用jquery进行此操作?

$("#reset").on("click", function () {
    // What do here?
});

jsfiddle:http://jsfiddle.net/T8sCf/1/

24 个答案:

答案 0 :(得分:68)

您可以使用defaultSelected property of an option element

  

包含selected HTML属性的初始值,指示是否默认选择该选项。

因此,DOM接口已经跟踪最初选择了哪个选项。

$("#reset").on("click", function () {
    $('#my_select option').prop('selected', function() {
        return this.defaultSelected;
    });
});

DEMO

这甚至适用于多选元素。

如果您不想迭代所有选项,但在找到最初选择的选项后“中断”,则可以改为使用.each

$('#my_select option').each(function () {
    if (this.defaultSelected) {
        this.selected = true;
        return false;
    }
});

没有jQuery:

var options = document.querySelectorAll('#my_select option');
for (var i = 0, l = options.length; i < l; i++) {
    options[i].selected = options[i].defaultSelected;
}

答案 1 :(得分:16)

$('#my_select').get(0).selectedIndex = 1;

但是,在我看来,更好的方法是仅使用HTML(使用<input type="reset" />):

<form>
    <select id="my_select">
        <option value="a">a</option>
        <option value="b" selected="selected">b</option>
        <option value="c">c</option>
    </select>
    <input type="reset" value="reset" />
</form>

答案 2 :(得分:14)

$("#reset").on("click", function () {
    $("#my_select").val('b');//Setting the value as 'b'
});

答案 3 :(得分:6)

您可以使用data元素的select属性

<select id="my_select" data-default-value="b">
    <option value="a">a</option>
    <option value="b" selected="selected">b</option>
    <option value="c">c</option>
</select>

您的JavaScript,

$("#reset").on("click", function () {
    $("#my_select").val($("#my_select").data("default-value"));
});

http://jsfiddle.net/T8sCf/10/

<强> 更新


如果你不知道默认选择,如果你不能更新html, 在dom ready中添加以下代码,

$("#my_select").data("default-value",$("#my_select").val());

http://jsfiddle.net/T8sCf/24/

答案 4 :(得分:6)

为什么不使用简单的javascript函数并在onclick事件中调用它?

function reset(){
document.getElementById("my_select").selectedIndex = 1; //1 = option 2
}

答案 5 :(得分:3)

$("#reset").on("click", function () {
    $('#my_select').prop('selectedIndex',0);
});

答案 6 :(得分:3)

您还可以重置多个SELECT的值,然后触发提交按钮。

请在此处查看:

Live Example:

$(function(){
    $("#filter").click(function(){
        //alert('clicked!');
        $('#name').prop('selectedIndex',0);
        $('#name2').prop('selectedIndex',0);
        $('#submitBtn').click();
    });
});

答案 7 :(得分:3)

一个很好的干净方法是在选择

中添加data-default属性
<select id="my_select" data-default="b">
...
</select>

然后代码非常简单:

$("#reset").on("click", function () {
    var $select = $('#my_select');
    $select.val($select.data('default'));
});

实例:http://jsfiddle.net/T8sCf/7/

答案 8 :(得分:1)

此代码可以帮助您。

<html>
<head>
    <script type="text/JavaScript" src="jquery-2.0.2.min.js"></script>
    <script type="text/JavaScript">
        $(function(){
            var defaultValue = $("#my_select").val();
            $("#reset").click(function () {
                $("#my_select").val(defaultValue);
            });
        });
    </script>
</head>
<body>
    <select id="my_select">
        <option value="a">a</option>
        <option value="b" selected="selected">b</option>
        <option value="c">c</option>
    </select>
    <div id="reset">
        <input type="button" value="reset"/>
    </div>
</body>

答案 9 :(得分:1)

$("#reset").on("click", function () {
    $('#my_select').val('-1');
});

http://jsfiddle.net/T8sCf/1323/

答案 10 :(得分:1)

使用jquery:

$("#reset").on("click", function() {
    $('#my_select').val($('#my_select').find('option[selected="selected"]').val());
}

答案 11 :(得分:1)

运行的简单方法是

 var myselect = $("select.SimpleAddAClass");
 myselect[0].selectedIndex = 0;
 myselect.selectmenu("refresh");

答案 12 :(得分:1)

对于那些使用Bootstrap-select的人,您可能想要使用它:

$('#mySelect').selectpicker('render');

答案 13 :(得分:1)

如果使用Spring表单,您可能需要将所选内容重置为选项标签。您可以设置表单:将id值选择为空字符串会将您的选择重置为标签作为默认值。

<form:select path="myBeanAttribute" id="my_select">
    <form:option value="" label="--Select One--"/>
    <form:options items="${mySelectionValueList}"/>
</form:select>

 $("#reset").on("click", function () {
        $("#my_select").val("");
 });

在有重置按钮的情况下。否则

$("#my_select").val("");

答案 14 :(得分:1)

将事件处理程序绑定到select的焦点事件以捕获先前的值。然后在单击重置时将select的值设置为上一个值。

var previousValue = "";
$("#my_select").on("focus",function(){
    previousValue = $(this).val();
});

$("#reset").on("click", function () {
   $("#my_select").val(previousValue);
});

工作示例: http://jsfiddle.net/T8sCf/17/

答案 15 :(得分:1)

你可以这样做:

var preval = $('#my_select').val(); // get the def value

$("#reset").on("click", function () {
   $('#my_select option[value*="' + preval + '"]').prop('selected', true);
});

checkout this fiddle

在更改事件之前保留默认加载值的var,然后使用value的属性选择器获取选项,并保持var值将属性设置为选中。

答案 16 :(得分:0)

将所有选择字段重置为默认选项,其中定义了所选属性。

$("#reset").on("click", function () {
    // Reset all selections fields to default option.
    $('select').each( function() {
        $(this).val( $(this).find("option[selected]").val() );
    });
});

答案 17 :(得分:0)

我试图像其他答案那样解决它,不幸的是,我没有找到正确的方法来做到这一点,一旦我尝试下面写的话:

$('#<%=ddID.ClientID %>').get(0).selectedIndex = 0;

这段代码对我有用,我希望这对你们有用。

最诚挚的问候。

Samuel Alvarado。

答案 18 :(得分:0)

这对我有用:

$("#reset").on("click", function () {
    $("#my_select option[selected]").prop('selected', true);
}

您找到具有select属性的默认选项,并将选择更改为该选项。

答案 19 :(得分:0)

.astype(str)

每次填充 select

之前,都要调用此函数

答案 20 :(得分:0)

<select id="my_select">
    <option value="a">a</option>
    <option value="b" selected="selected">b</option>
    <option value="c">c</option>
</select>

<div id="reset">
    reset
</div>

$("#reset").on("click", function () {
    $('#my_select').prop('selectedIndex',0);
});

这是您提问的一种简单方法。只有一行答案。

答案 21 :(得分:0)

如果您想重置,请尝试以下操作:

$('element option').removeAttr('selected');

要设置欲望值,请尝试以下操作:

$(element).val('1');

答案 22 :(得分:0)

你可以试试

$('select')[0].value = "default vaule"

function reset(){
  $('select')[0].value="default value"
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select>
  <option value="default value" >Default</option>
  <option value="1" >Value 1</option>
  <option value="2" >Value 2</option>
  <option value="3" >Value 3</option>
</select>
<button onclick="reset()" >Click</button>

答案 23 :(得分:-3)

我有选择框

<select id="my_select">
    <option value="a">a</option>
    <option value="b" selected="selected">b</option>
    <option value="c">c</option>
</select>

<div id="reset">
    reset
</div>

我还有重置按钮,这里默认(选中)值为&#34; b&#34;,假设我选择&#34; c&#34;并且在我需要重新选择框值为默认值之后,如何使用Angular2?