将JQuery SelectBox的值设置为Model中的变量

时间:2013-12-04 18:47:24

标签: javascript jquery drop-down-menu

我有一个jquery选择框,用于为用户提供过滤页面的选项。默认值为“全部”,然后可以选择一系列选项。

当他们做出选择时,页面会重新加载他们的选择,然后我希望选择框显示他们的选择。问题是我似乎无法将selectbox值设置为先前选择的值。

selectbox的HTML如下所示:

<select id="mySelectMenu">
    <option value="VALUEALL">All</option>
    <option value="VALUE1">A</option>
    <option value="VALUE2">B</option>
    <option value="VALUE3">C</option>
</select>

他们选择的值保存在我的模型中,所以我在jspx页面的顶部有以下内容:

<c:set value="${myModel.myFilterCriteria}" var="myFilterValue" />

这是在我的document.ready

$(function() {
    $( "#mySelectMenu" ).selectBox();
    // this is how I've tried to force my value to 'A' instead of 'All', but it 
    // didn't work.
    $("#mySelectMenu option[value='VALUE1']").prop("selected", true);

    // I'd like to be able to use something like this: 
    $("#mySelectMenu option[value='(myFilterValue)']").prop("selected", true);
});

我尝试了各种方法将其设置为'myFilterValue',但似乎无法设置它。

---发现决议---

我的功能

中存在以下问题
$( "#mySelectMenu" ).selectBox();

我删除了它并添加了以下内容并且有效。

$("#mySelectMenu option[value='${myFilterValue}']").prop("selected", true);

所以,我的功能现在看起来像这样:

$(function() {
    $("#mySelectMenu option[value='${myFilterValue}']").prop("selected", true);
});

谢谢大家的帮助!

2 个答案:

答案 0 :(得分:0)

$('#mySelectMenu').val(myFilterValue); // or
$('#mySelectMenu').val("VALUE1");

jsFiddle Demo works

答案 1 :(得分:0)

我发现以下内容: https://github.com/marcj/jquery-selectBox/blob/master/readme.md

代码:

 $('select').selectBox('value', 1);