假设我在html
页面中有一个选择框。并且该选择框中的值来自db查询,该查询返回一个不那么小的选项列表
现在,如果我需要添加另外4个显示相同选项列表的选择框,我是否必须复制代码,然后发送回浏览器4*(select_box_result_size)
,或者这通常以不同方式完成?
答案 0 :(得分:3)
无论您如何管理服务器端代码,答案都是每个选择框都需要自己的选项组。也就是说,如果所有选项都相同,那么您应该只对数据库进行一次查询,并使用单个函数生成所需的所有选择框。只需从数据库中获取选项,将它们存储在变量中,然后创建框。
请注意,在HTML中,每个框都会将值硬编码到其中,因此您的客户端代码将具有重复数据,但这并不重要。重要的是,您必须维护的代码是干净的,并且您在数据库上施加的压力尽可能小。您只需要一个查询+一个功能。
如果性能确实是个问题,那么您始终可以使用JavaScript动态生成组合框。你基本上可以嵌入一个,然后再复制四次。但是,您需要考虑两件事:
除非你有1000多种选择,否则我建议你坚持四次生成盒子。如果你有那么多,那么做两件事:
答案 1 :(得分:0)
该选择框中的值来自返回a的db查询 不是那么小的选项列表。
为方便用户使用,您可以尝试使用自动提示,但是您可以尝试编写自己的库。
如果同一数据多次显示(4次),具体取决于您的服务器端脚本,最好在内存中获取数据并生成选择而不是查询4次。
我是否必须复制代码
最好不要复制,至少可以编写辅助函数来生成选择列表。如果你真的想从html标记中删除代码,你可以考虑使用其中一个使用模板的MVC框架,并允许你将数据绑定到它。