简体   繁体   中英

Jquery selected select by value

i want to add a selected, if my Model.StartYear is the same as the value of the option.

my select:

<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>

my 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 contains the selected value of the option. So that should be matched to the option.

Can't seem to get it to work properly.

You can directly use .val(value)

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

 jQuery(document).ready(function () { $(".holidaySelect").val(2018) }); 
 <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> 

Your code works when @Model.StartYear is not empty value. Here you can see working fiddle for 2017 value

 $(document).ready(function () { var num = 2017; $(".holidaySelect option").each(function (key) { if ($(this).val() == num) { // EDITED THIS LINE $(this).attr("selected", "selected"); } }); }); 
 <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> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM