无法使用jquery更新/刷新选择选项

时间:2015-02-21 03:19:50

标签: javascript jquery

我的HTML正文中有2个选择选项。我正试图在选择之前更改select选项。

但是,我在浏览器控制台中看到以下错误

Uncaught TypeError:undefined不是$('#plan')的函数.selectmenu(" refresh");

HTML

    <select name="service" id="service" class="default" tabindex="3" onchange="updatePlanInfo(this)">
      <option value="" selected disabled>Service</option> <!-- Example of a hidden dropkick placeholder -->
      <option value="Hadoop">Hadoop</option>
      <option value="NoSQLDB">NOSQLDB</option>
    </select>

    <select name="plan" id="plan" class="default" tabindex="4" >
      <option value=""selected disabled>Plan</option>
      <option value="Free">Free</option>
      <option value="Small">Small</option>
    </select>

Javascript

    function updatePlanInfo(servicename)
    {
      alert(servicename);

var newOptions = {
  "Option 1": "value1",
  "Option 2": "value2",
  "Option 3": "value3"
};

var $el = $("#plan");
$el.empty(); // remove old options
$.each(newOptions, function(value,key) {
  $el.append($("<option></option>")
     .attr("value", value).text(key));
});

$('#plan').selectmenu("refresh");

    }

2 个答案:

答案 0 :(得分:0)

$(&#39;&#39;)。selectmenu()是一个jquery ui小部件。您需要使用jquery ui js文件才能使用此小部件。

我希望这会对你有所帮助。

答案 1 :(得分:0)

该行

$('#plan').selectmenu("refresh");

出现脚本错误有三个原因:

  1. selectmenu方法为part of the JQuery UI framework
  2. 根据您在控制台中看到的错误,您似乎没有在页面中包含此框架。
  3. 您必须先将选择元素初始化为selectmenu,然后才能refresh。喜欢: $("#plan").selectmenu();
  4. 这是一个有效的example

    但是,如果您不打算在项目中使用JQuery UI框架,则只需注释掉尝试刷新select元素的行。