是否可以在html中使用大量数据创建下拉列表而不使用
<option>Something</option>
每个内容。
例如,我想制作一个数字为1-100的下拉列表。是否需要逐个定义?
答案 0 :(得分:2)
是的,我在阅读完您的问题后尝试了同样的方法,并且可以在html中创建一个包含大量数据的下拉列表: 我尝试使用Jquery,因为据我所知,编写和理解起来很简单。 在您的HTML中,您只需要用id编写标记。
<html>
<select id="select">
</select>
</html>
现在在你的Javascript中(不要忘记导入jquery)你必须写:
$(document).ready(function() {
for(i=1;i<=100;i++)
{
$("#select").append("<option>"+i+"</option>");
}
});
通过这种方式,您可以更轻松地制作1到100的下拉列表。希望这可以帮助您:)
答案 1 :(得分:1)
我会考虑创建标记服务器端(例如使用PHP)或使用JavasScript / jQuery。
这是一个jQuery示例:
var options = [];
for (var n = 1; n <= 100; n++){
options.push('<option value="' + n + '">' + n + '</option>');
}
$('<select/>', {
'id': 'my-select',
'name': 'my-select',
html: options.join('')
}).appendTo('body');
小提琴:http://jsfiddle.net/XffwR/1/
当然你可能不想走那条路,在这种情况下,你需要手动为每个选项添加HTML标记,正如John Conde所说。
答案 2 :(得分:1)
如果您要创建下拉列表界面组件,则无需将数据放在<select><option>...
中。 <select>
是标准的,默认的,绝对是首选的方式。但是你可以用其他可用的标签来模仿它的行为。
现在,我看到你想要输入大量数据,可能你不想手工完成。 HTML没有允许自动生成内容的标记结构,因此是的,您必须自己在下拉列表中定义所有这些选项。每个单独的选项都必须在自己的标签内。
现在,这将是一项乏味的任务,对吧?从不畏惧!编程语言来拯救。可以根据某些数据自动创建这些标签,无论是预定义的,根据某些参数生成的,还是随机的。
我不确定为什么每个人都认为问题是关于在jQuery中创建<option>
标签......还有很多其他选项可用。
服务器端生成:如果您在服务器上使用PHP,Python或任何其他语言,则可以在服务器上构建<select>
结构,插入进入html并将其呈现给用户。如果您的数据是静态的 - 您可以获得缓存,从而减少服务器和网络上的负载。
客户端生成:您可以在加载页面时(或根据用户请求)使用JavaScript创建这些选项。当然,如果你想使用一些方便这个过程的JavaScript框架 - 你可以使用jQuery,Prototype,Zepto ......你希望包含在页面中的任何内容。
我在这里没有显示任何代码,因为问题中的信息不多。例如,您是否希望从某些预定义数据构建下拉列表。如果是 - 您认为它将以何种形式存储?它会是静态的还是动态的?等等等。
如果您使用更多详细信息更新您的问题,那么我们可以使用更多信息更新我们的答案。感谢。
答案 3 :(得分:0)
是的,您必须在其自己的<option>
标记中定义每个标记。