我有这些非常大的下拉列表(1500)项目。我必须在单个页面上使用大量这些大型下拉列表(每个列表1500个项目,每个对象4个列表,每页150个对象)。所有这些列表都是相同的。
不幸的是客户端要求这种结构,所以我正在寻找一种好方法来创建4个下拉列表并根据他们关注的选择框重用它们。
正在使用剃刀创建列表:
var list = ViewData["List"] as IEnumerable<SelectListItem>;
IEnumerable<SelectListItem> selectEnumerable = null;
if(list != null)
{
selectEnumerable = list.Select(x => new SelectListItem
{
Text = x.Text,
Value = x.Value.ToString()
}).OrderBy(x => Convert.ToInt32(x.Value));
}
@Html.DropDownList("List", selectEnumerable)
我该怎么办?
答案 0 :(得分:0)
如果你想在客户端做,那么一种方法是使用jquery的clone()
所以你要做的就是加载你问题中的第一个select
盒子服务器端。然后创建另外3个select
列表,但将它们留空,并为它们提供相同的class
属性,例如“我的列表级”。最后,在您的脚本文件中,您可以创建一个在启动时运行一次的函数。
<强> JS 强>:
function LoadSelectLists()
{
var list = $("#sel1 > option").clone();
$('.my-list-class').append(list);
}
<强> HTML 强>:
<select id="sel1">
<option value="a">opt1</option>
<option value="b">opt2</option>
<option value="c">opt3</option>
</select>
<select id="sel2" class="my-list-class"></select>
<select id="sel3" class="my-list-class"></select>
<select id="sel4" class="my-list-class"></select>