我选择了以下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");
答案 0 :(得分:5)
<强>刷新强>
这用于更新自定义选择以反映本机选择 element的值。如果select中的选项数量不同 比自定义菜单中的项目数量,它将重建自定义 菜单。此外,如果传递true参数,则可以强制重建 发生。
$("#mainMenu").val("5");
$("#mainMenu").selectmenu('refresh', true);
答案 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");