我正在尝试根据另一个选择列表中的选择动态更新选择列表。jQuery 代码
<script type="text/javascript">
// Respond to Category selection
$('#selectCategory').change(function () {
// Ajax call to 'Specialties' action method with parameter searchType
$.get('@Url.Action("Products", "Product")',
{ "parameter1": $(this).val(), "parameter2": null },
function (data) {
$('#products').html(data);
});
});
</script>
风景
<div id="products">
@Html.Partial("_Products")
</div>
局部视图
@model MyMVC3App.Models.MyViewModel
<select mid="productSelect" name="@ClarusConstants.PropertyNames.Specialty" >
<option value="0">@Resources.LabelText_SelectASpecialty</option>
foreach (Product p in Model.Products)
{
<option value="@Product.ID" name="@product.Description</option>
}
</select>
动作方法
public ActionResult Specialties(string parameter1, string parameter2)
{
List<Product> products = myDB.Products.Where(p => p.Category == parameter1).ToList();
ViewModel myViewModel = new ViewModel();
viewModel.Products = products;
if (Request.IsAjaxRequest())
{
return PartialView("_Products", myViewModel);
}
else
{
return View(myViewModel);
}
}
回调正在命中正确的操作方法,并且正在检测 ajax 请求。不幸的是,产品 div 的内容(InnnerHTML)没有被替换,所以这一切都是徒劳的。
预先感谢您的帮助。