在满足条件时,下拉值重置为第一个值

时间:2016-03-30 07:07:52

标签: javascript jquery css drop-down-menu

在下面的代码中,如果当前下拉值指向 listvalues 变量中可用的值,则应将下拉选择的值更改为第一个值。

   if (selectedForYear() == 2016) {
         var d = new Date();
         var month = d.getMonth();
         month = month + 3;
         while (month <= 13) {
             $('#dk_container_selectForMonth .dk_options li:nth-child(' + month + ')').css({ "display": 'none' });
             var listvalues = $('#dk_container_selectForMonth .dk_options li:nth-child(' + month + ')').text();
             if ($('#dk_container_selectForMonth .dk_options li.dk_option_current a').text() == listvalues) 
            {

                 $("#dk_container_selectForMonth").val($("#dk_container_selectForMonth li:first").val());

              }
             month++;
         }
     }

我试过这个:

$("#dk_container_selectForMonth").val($("#dk_container_selectForMonth li:first").val());

但它不起作用。

这是HTML:

<div class="flexContainer mediumGutter">

    <div class="flexContent">
        <select data-bind="options: month, optionsCaption: 'Month', value: selectedForMonth" id="selectForMonth" tabindex="8" style="width: 130px">
            <option>month</option>
        </select>
    </div>
    <div class="flexContent">
        <select data-bind="options: year, optionsCaption: 'Year', value: selectedForYear" id="selectForYear" tabindex="9" style="width: 130px">
            <option>year</option>
        </select>
    </div>

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

很抱歉回答我的问题。答案可能有助于某人。

通过使用jquery dropkick()方法刷新下拉列表,下拉列表会刷新并分配第一个值。

$('#selectForMonth').dropkick('refresh');