刷新select2下拉列表

时间:2019-01-03 20:38:43

标签: javascript jquery-select2

我正在尝试动态更改select2下拉列表的选项。

我已经搜索了论坛并设法更改了所选选项,但是只有在单击下拉列表并查看整个列表时,该选项才可见。预先道歉,因为它不是最好的编码器。

function changeSelectOption(designSelVal) //designSelVal = 9

{   
    var opts = document.getElementById("design").options;
    for (var opt, i = 0; opt = opts[i]; i++) 
    {
    if (opt.value == design) 
        {
            document.getElementById("design").selectedIndex = i;
            break;
        }
    }
}

/ *这表明已正确地从值2更改为9 * /

<option value="2" >Text Only</option>
<option value="4" >Heart Arrow</option>
<option value="9" selected>Heart</option>

可见选项仍然是“纯文本”而不​​是“心脏”,就好像选择框需要刷新一样。

1 个答案:

答案 0 :(得分:1)

您缺少if条件:

应该是

if (opt.value == designSelVal)

function changeSelectOption(designSelVal) //designSelVal = 9

    {
     
      var opts = document.getElementById("design").options;
      
      for (var opt, i = 0; opt = opts[i]; i++) {
        
        if (opt.value == designSelVal) {
          document.getElementById("design").selectedIndex = i;

          break;
        } 
      }
    }

    changeSelectOption(9);
    <select id="design">
      <option value="2" selected>Text Only</option>
      <option value="4">Heart Arrow</option>
      <option value="9" >Heart</option>
    </select>