2

ホームページと 2 つの異なるダイアログ ボックスで 100 個のリスト アイテムのセットを使用したいと考えています。同じコードを書くのはばかげていると思います。Web ページの 3 つの異なる場所で同じセットを使用するにはどうすればよいですか

4

4 に答える 4

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 に答える
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

jQuery (または他のクライアント側ライブラリ) を使用してアイテムを複製し、各<select>タグに追加します。サポートが必要な場合は、お知らせください。

于 2012-10-19T10:24:38.383 に答える