Jquery选择按值

时间:2016-10-07 12:17:42

标签: jquery html select

如果我的Model.StartYear与选项的值相同,我想添加一个选中的。

我的选择:

<select name="year" class="form-control holidaySelect">
                <option value="2015">2015/2016</option>
                <option value="2016">2016/2017</option>
                <option value="2017">2017/2018</option>
                <option value="2018">2018/2019</option>
                <option value="2019">2019/2020</option>
            </select>

我的jquery:

<script type="text/javascript">
$(document).ready(function () {
    var num = @Model.StartYear;
    $(".holidaySelect option").each(function () {
        if ($(this).val() == num) { // EDITED THIS LINE
            $(this).attr("selected", "selected");
        }
    });
});

Model.StartYear包含选项的选定值。 所以这应该与选项匹配。

似乎无法让它正常工作。

2 个答案:

答案 0 :(得分:7)

您可以直接使用.val(value)

$(document).ready(function () {
    $(".holidaySelect").val(@Model.StartYear)
});

&#13;
&#13;
jQuery(document).ready(function () {
    $(".holidaySelect").val(2018)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="year" class="form-control holidaySelect">
  <option value="2015">2015/2016</option>
  <option value="2016">2016/2017</option>
  <option value="2017">2017/2018</option>
  <option value="2018">2018/2019</option>
  <option value="2019">2019/2020</option>
</select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

当@ Model.StartYear不为空值时,您的代码有效。 在这里你可以看到2017年价值的工作小提琴

&#13;
&#13;
$(document).ready(function () {
    var num = 2017;
    $(".holidaySelect option").each(function (key) {
        if ($(this).val() == num) { // EDITED THIS LINE
            $(this).attr("selected", "selected");
        }
    });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="year" class="form-control holidaySelect">
                <option value="2015">2015/2016</option>
                <option value="2016">2016/2017</option>
                <option value="2017">2017/2018</option>
                <option value="2018">2018/2019</option>
                <option value="2019">2019/2020</option>
            </select>
&#13;
&#13;
&#13;