0

我正在尝试根据另一个选择列表中的选择动态更新选择列表。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)没有被替换,所以这一切都是徒劳的。

预先感谢您的帮助。

4

0 回答 0