使用jQuery按值选择下拉选项

时间:2014-08-24 09:43:03

标签: javascript jquery jquery-mobile

我选择了以下html结构

<select id="mainMenu" data-mini="true" name="select-choice-min">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5">5</option>
   <option value="6">6</option>   
</select>

页面加载我想最初设置值为5的选项,所以我尝试了(但没有改变)

$(document).ready(function () {
   $('#mainMenu option').eq(5).prop('selected', true);
})

我正在使用jQuery 1.8.3和jQuery mobile,因为这是移动网站

<script src="/Scripts/jquery-1.8.3.js"></script>
<script src="/Scripts/jquery.mobile-1.4.2.js"></script>

更新

我只是意识到发布的答案中的每个代码都有效(以及我的),#mainMenu选项值设置为所需的值(5),但它的文本不会改变(在任何这种情况下)。这是正常的,并有解决方法。

我尝试了$("mainMenu").text("5");

6 个答案:

答案 0 :(得分:5)

<强>刷新

  

这用于更新自定义选择以反映本机选择   element的值。如果select中的选项数量不同   比自定义菜单中的项目数量,它将重建自定义   菜单。此外,如果传递true参数,则可以强制重建   发生。

$("#mainMenu").val("5");
$("#mainMenu").selectmenu('refresh', true);

看看Select menus

fiddle

答案 1 :(得分:1)

这很好用:

$(document).ready(function () {
   $('#mainMenu option').eq(5).prop('selected', true);
})

<强> Check JSFiddle Demo

但是.eq(5)是索引并从0开始,所以如果你想选择value = 5,请使用.eq(4)

你也可以使用它:

$("#mainMenu").val("5");

并且您也可以手动将HTML中的5设置为默认选择值:

<option value="5" selected>5</option>

答案 2 :(得分:0)

使用jquery =&gt;

$(document).ready(function () {
   $('#mainMenu').val("5");
})

答案 3 :(得分:0)

这应该有效

$(document).ready(function () {
    var dropdown = $('#mainMenu');
        dropdown.val(5);
        dropdown.change();
});

答案 4 :(得分:0)

另一种方式是:

$(function () {
   $('#mainMenu').find("option[value='5']").each(function(){
       if ($(this).val() == 5) {
          $(this).prop("selected", true);
          $('#mainMenu').trigger("updated");
          $('#mainMenu').val(5).trigger("change");
        }
    });
});

答案 5 :(得分:0)

此代码对我有用。例如,如果您有HTML中的国家/地区列表:

<select id="countries" name="countries">
    <option value="0">Argentina</option>
    <option value="1">Brazil</option>
    <option value="2">England</option>
    <option value="3">Ireland</option>
    <option value="4">United States</option>
</select>

在JQuery中,您可以通过以下方式选择英格兰:

$('#countries').val("2");

Demo Link - Jsfiddle