我还没有看到你的代码,所以不能告诉确切的问题。这是我如何看待您的解决方案。首先将您的第二个下拉值添加到您的过滤方法,它应该在未选择时具有默认值。
public ActionResult Index(string sortOrder, string id,
string channelLocation, int secon_ddl = 0)
然后检查是否选择了第二个,在这种情况下是0,然后过滤
if(secon_ddl != 0)
{
//do whatever
}
添加另一个方法,将项目列表返回到第二个方法,并在第一个下拉值更改时调用它。最好的选择是以 JSON 格式返回值。
这是我的代码,当类别更改时我正在更新子类别列表
('#category_list').change(function() {
var cat_value = $(this).val();
$.ajax({
url: '/Product/GetSubCategory',
type: "GET",
dataType: "JSON",
data: { category: cat_value },
contentType: 'application/json',
success: function (data) {
if (data.length > 0) {
var list = $('#subCategory_list');
list.html(""); // clear before appending new list
list.append(
$('<option></option>').val(null).html("Chose"));
$.each(data, function (i, subCat) {
list.append(
$('<option></option>').val(subCat.id).html(subCat.name));
});
}
}
});
}
我使用的是jquery数据表,所以更新表很简单
('#category_list, #subCategory_list').change(function(){
table.draw();
})
在您的情况下,最后一个代码应该完全不同。只需确保您的过滤器方法接收到两个下拉列表的值,并在其中一个下拉列表更改时触发。希望对你有帮助!!