1

是否可以在不使用大量数据的情况下在 html 中创建一个下拉列表

<option>Something</option> 

对于每个内容。

例如,我想制作一个数字为 1-100 的下拉列表。是否需要一一定义?

4

4 回答 4

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 的下拉列表。希望这对您有所帮助:)

于 2012-06-12T12:13:15.840 回答
1

<select><option>...如果您想创建一个下拉界面组件,您不必将数据放入其中。<select>是一个标准的、默认的并且绝对是这样做的首选方式。但是您可以使用其他可用的标签来模仿它的行为。

现在,我看到您想要输入大量数据,而您可能不想手动完成。HTML 没有允许自动生成内容的标记结构,所以是的,您必须自己在下拉列表中定义所有这些选项。每个单独的选项都必须在自己的标签内。

现在,这将是一项乏味的任务,对吧?从不畏惧!编程语言来拯救。可以根据某些数据自动创建这些标签,无论是预定义的、根据某些参数生成的还是随机的。

我不确定为什么每个人都认为问题是关于<option>在 jQuery 中创建标签……还有许多其他选项可用。

  1. 服务器端生成:如果您在服务器上使用 PHP、Python 或任何其他语言,您可以在服务器上构建您的<select>结构,将其插入 html 并呈现给用户。如果您的数据是静态的 - 您可以享受缓存的好处,这可以减少服务器和网络上的负载。

  2. 客户端生成:您可以使用 JavaScript 在页面加载时(或根据用户请求)创建这些选项。当然,如果您想使用一些有助于该过程的 JavaScript 框架 - 您可以使用 jQuery、Prototype、Zepto ......任何您希望包含在页面中的东西。

我没有在这里显示任何代码,因为问题中没有太多信息。例如,您是否想从一些预定义的数据中构建下拉列表。如果是 - 您认为它将存储在何处以及以何种形式存储?它是静态的还是动态的?等等等等等等

如果您用更多详细信息更新您的问题,那么我们可以用更多信息更新我们的答案。谢谢。

于 2012-06-13T07:55:20.003 回答
1

我会考虑创建标记服务器端(例如使用 PHP)或使用 JavaScript/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 所说。

于 2012-06-12T11:34:57.337 回答
0

<option>是的,你必须在它自己的标签中定义每一个。

于 2012-06-12T11:33:48.163 回答