我需要在我的MVC3应用程序中使用下拉列表进行过滤。我想尽可能多地处理jquery,因为我不需要这个下拉除了过滤之外的任何东西。我知道基于列表的过滤是另一个步骤,但我现在只关注下拉。
到目前为止,我使用MVC构建了一个空列表,然后尝试在加载时使用jquery填充它。
这是我的代码。
<script src="http://code.jquery.com/jquery-1.5.1.min.js" type="text/javascript"/>
<script type="text/javascript">
$(function () {
var myOptions =
{
val1: '12 hours',
val2: '24 hours'
};
$.each(myOptions, function (val, text) {
$('#timeSelect').append( new Option(text,val) );
});
});
</script>
<div id="timeSelect">
@Html.DropDownListFor(
x => x.FilterTimeList,
Enumerable.Empty<SelectListItem>(),
"-- select Time --"
)
</div>
我的ViewModel中有一个名为FilterTimeList的下拉列表,但我想废除这个,因为后端不需要这些信息。
使用上面的代码,列表中有选择Time选项,但是没有选项根据jquery添加到列表中。
为了澄清,我有一个基于数据库值填充的表。我计划根据从下拉列表中选择的选项来过滤该表。
答案 0 :(得分:1)
你应该拥有这一行,而不是现有的那一行:
$('#timeSelect select').append( new Option(text,val) );
更多 jquery样式方法,结果相同:
$('<option />').val(val).text(text).appendTo('#timeSelect select');