选择菜单项重置为默认值失败

select menu item reset to default fails

本文关键字:默认值 失败 菜单项 选择      更新时间:2023-09-26

我对jquery有一个小问题,我希望我的下拉选项框重置为默认值(第一组的名称)

  <input id="leftv" name="n" type="radio" onclick="chooseLeft('val-');" />
                      <label for="leftv">left</label>
     <input id="rightv" name="n" type="radio" onclick="chooseRight('val-');" />
                      <label for="rightv">right</label>
<select id="val-left">
                          <option value="">Option Value</option>
                          <optgroup label="Main Value">
                            <option class="br" value="s">Main1</option>
                            <option class="br" value="o">Main2</option>
                          </optgroup>
                          <optgroup label="Sub value">
                <option class="br" value="v1">value1</option>                           
                <option class="br" value="v2">value2</option>
                          </optgroup>
</select>
<select id="val-right">
                          <option value="">Option Value</option>
                          <optgroup label="Main Value">
                            <option class="br" value="s">Main1</option>
                            <option class="br" value="o">Main2</option>
                          </optgroup>
                          <optgroup label="Sub value">
                <option class="br" value="v1">value1</option>                           
                <option class="br" value="v2">value2</option>
                          </optgroup>
</select>

这是jquery代码

function choose_Left(val){
            $('#' + val + '-left').attr("selected", false);
            $('.selected', 'div#' + left + '-valtable').removeClass('selected');
            $('#' + val + '-valtable span').text("Option Main");     
            $('#' + val + '-left').attr("selected", false);
            $('.selected', 'div#' + left + '-valtable').removeClass('selected');
            $('#' + val + '-valtable span').text("Option Value");
}

当我选择第一个单选按钮时,我希望第二个选择下拉列表显示Option Value,这是默认的选项值,这在除IE9之外的所有其他浏览器中都能正常工作,IE9在id=val right的选择中显示为空。在IE9中,我们能做些什么来纠正错误?:)

以下是我尝试过的

$("select :first-child").each(function () {
    $(this).attr("selected", true);
});

但我可以从这篇文章中看到任何好的结果(

要在jQuery中设置select的值,最简单的方法是使用val()函数。

例如:

$('select.classname').val('the-value');

在你的情况下,我认为你可以使用:

$('#val-left, #val-right').val('');