选择在我看来,我有这样的下拉列表:更改项目在下拉列表
Filter by: <select name="orderType" id="orderType">
<option value="All">All</option>
<option value="Customer">Customer</option>
<option value="Supplier">Supplier</option>
</select>
这里是我的模型:
public class m_OrderInfo
{
public int m_OrderID { get; set; }
public string m_OrderName { get; set; }
public string m_OrderType { get; set; }
public DateTime m_OrderDate { get; set; }
}
当我展示它,我创建了一个列出我传递给我的视图的listObjsToDisplay。
我想根据下拉列表中选择的值更改显示内容。如果值是“Customer”,我只想显示“m_OrderType”为“Customer”(这是一个字符串)的订单。如果值为“供应商”,则仅显示“供应商”。最后,如果是全部,则显示所有的值。
但我不想通过服务器调用获得另一个列表,我只想知道是否可以使用jQuery更改视图中显示的列表。
编辑
后好一些的工作和良好的建议,我进步,但仍然需要帮助。
这是我的看法,现在:
@using System.Globalization
@model List<MyApp.Models.OrderInfo>
<h2>
Display Orders
</h2>
<script type="text/javascript" src="/Scripts/Functional/Inventory.js"></script>
@using (Html.BeginForm())
{
<p>
Filter by: <select name="orderType" id="orderType">
<option value="All">All</option>
<option value="Customer Order">Customer Order</option>
<option value="Supplier Order">Supplier Order</option>
</select><br/>
</p>
}
@if (Model.Count > 0)
{
<table>
<tr>
<th>Order ID<th>
<th>Order Name</th>
<th>Order Type</th>
<th>Order Date</th>
</tr>
@for (int i = 0; i < Model.Count; i++)
{
<tr class="@className order [email protected][i].m_OrderType">
<td>@Html.DisplayFor(_item => _item[i].m_OrderID)</td>
<td>@Html.DisplayFor(_item => _item[i].m_OrderName)</td>
<td>@Html.DisplayFor(_item => _item[i].m_OrderType)</td>
<td>@Html.DisplayFor(_item => _item[i].m_OrderDate)</td>
</tr>
}
</table>
}
,这里是我的jQuery脚本:
$('#orderType').change(function() {
var showOrderType = $(this).val();
if (showOrderType == "All") {
alert("all is selected");
$(".order").each(function() {
$(this).show();
});
alert("All are shown.");
} else {
alert("else condition struck");
$(".order").each(function() {
$(this).hide();
});
alert("all is hidden");
$(".orderType-" + showOrderType).each(function() {
alert("Code goes in here?");
$(this).show();
});
alert("Code is done.");
}
});
该脚本部分,因为它成功地做了隐藏和显示,但它从来没有达到alert("Code goes in here")
线,所以我有点无知,为什么它不起作用。
这里的HTML代码示例:
<h2>
Display Suppliers Orders
</h2>
<script type="text/javascript" src="/Scripts/Functional/magicAdmin.Inventory.js"></script>
<form action="/SupplierOrders/DisplaySuppliersOrders?Count=3&PageCount=1&TotalItemCount=3&PageNumber=1&PageSize=25&HasPreviousPage=False&HasNextPage=False&IsFirstPage=True&IsLastPage=True&FirstItemOnPage=1&LastItemOnPage=3" method="post"> <p>
Filter by: <select name="orderType" id="orderType">
<option value="All">All</option>
<option value="Customer Order">Customer Order</option>
<option value="Supplier Order">Supplier Order</option>
</select><br/>
</p>
</form>
<table class="orderTable">
<tr>
<th>Order ID</th>
<th>Order Name</th>
<th>Order Type</th>
<th>Order Date</th>
</tr>
<tr class="even order orderType-Supplier Order">
<td>1</td>
<td>Box #1</td>
<td>Supplier</td>
<td>06-01-2012</td>
</tr>
<tr class="odd order orderType-Supplier Order">
<td>2</td>
<td>Box #2</td>
<td>Supplier Order</td>
<td>06-01-2012</td>
</tr>
<tr class="even order orderType-Supplier Order">
<td>3</td>
<td>Box #3</td>
<td>Supplier Order</td>
<td>01-01-0001</td>
</tr>
</table>
你可以发表你的too..and你想在上面选择元素,只显示客户或者检查是否被点击选择 – bipen
CUTOMER你的意思是你要的对象名单看看我的观点,列表所依据的模型? – hsim
是的...导致它很难理解你在这里真正想要什么...... – bipen