我想在主页和 2 个不同的对话框中使用一组 100 个列表项。我想,编写相同的代码集将是愚蠢的。那么我如何在网页的 3 个不同位置使用相同的集合
问问题
96 次
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 回答