1

我使用 JQuery 1.9.1、Modernizr 2.6.2(使用 yepnope 自定义构建)和 Webshim 库。我在 Mac OSX 10.7.5 上的 Safari 6.0.4 和 Firefox 20.0 上进行了测试

我有一个 HTML5 页面,其中定义了如下数据列表:

  <input id="reference_category_name" list="category_list" class="search-start" autocomplete="on" required />
  <datalist id="category_list">
    <select>
      <option></option>
    </select>
  </datalist>

我使用javascript代码动态更新...

它在我第一次进行更新时工作(在我的初始化代码中),但是这个数据列表内容的后续更新虽然在检查器中可见,但不会反映在显示的下拉列表中......

在我使用 polyfill 之前它在 FF 上工作,但 Safari 不支持数据列表。

我错过了什么?或者是否可以强制刷新下拉菜单?

4

1 回答 1

1

是的,有一种方法(updatePolyfill、htmlPolyfill 等)。它记录在dynamic shivinghere中。

您还可以找到一个带有动态数据列表的简单示例(不过,数据服务器在第一次请求时有点慢)。

$('datalist > select').htmlPolyfill('<option value="yeah" />');

另请参阅此演示以获取一些配置选项:http: //jsfiddle.net/trixta/7DETa/

于 2013-05-09T15:42:25.467 回答