2

我想在主页和 2 个不同的对话框中使用一组 100 个列表项。我想,编写相同的代码集将是愚蠢的。那么我如何在网页的 3 个不同位置使用相同的集合

4

4 回答 4

0

我会使用 jQuery(或其他一些客户端库)来克隆项目,并将它们附加到每个<select>标签。如果您需要这方面的帮助,请告诉我。

于 2012-10-19T10:24:38.383 回答
0

如果您想要一个纯 HTML5 解决方案,这可能会很有趣......使用该datalist元素 - 对此(目前)的支持将非常有限:

https://developer.mozilla.org/en-US/docs/HTML/Element/datalist

(来自上面的链接)

<datalist id="browsers">
  <option value="Chrome">
  <option value="Firefox">
  <option value="Internet Explorer">
  <option value="Opera">
  <option value="Safari">
</datalist>

<input class="one" list="browsers" />
<input class="two" list="browsers" />
<input class="three" list="browsers" />
于 2012-10-19T10:51:34.293 回答
0

我会将列表存储在 json 文件中:list.json

{
  list: [element0, element1, ..., element99]
}

然后使用 jQuery 通过 ajax 检索元素,例如:

/**
 * Replaces the element's content with the list of items.
 */
function setList(element) {
  $.getJson(listJsonURL, function (data) {
    var list = "<ul>";
    for (var i = 0, len = data.list.length; i<len; i++) {
      list += "\n  <li>" + data.list[i] + "</li>";
    }
    list += "\n</ul>";
    $(element).html(list);
  });
}

警告:未经测试的代码。

于 2012-10-19T11:24:51.920 回答
0

您可以使用此代码段克隆 HTML,

  <script>
      (function(){
        $(document).ready(function(){

            $("#listA").clone().appendTo("#dialogueBox1");
            $("#listA").clone().appendTo("#dialogueBox2");

         })
       })();
   </script>

其中 listA 是“ul”或“ol”元素的 id。

于 2012-10-19T10:41:31.317 回答