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

Kam*_*mal 5 javascript css jquery 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++;
         }
     }
Run Code Online (Sandbox Code Playgroud)

我试过这个:

$("#dk_container_selectForMonth").val($("#dk_container_selectForMonth li:first").val());
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

这是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>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Kam*_*mal 2

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

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

$('#selectForMonth').dropkick('refresh');
Run Code Online (Sandbox Code Playgroud)