Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何使用下拉列表进行过滤_Jquery_Asp.net - Fatal编程技术网

Jquery 如何使用下拉列表进行过滤

Jquery 如何使用下拉列表进行过滤,jquery,asp.net,Jquery,Asp.net,我是asp.net mvc新手,我将感谢您的帮助 我设计了一个下拉列表,从数据库中检索名称列表,我想在选择下拉列表后进行过滤。 我的看法是: <div>@Html.DropDownList("DropDownList", "Select")</div> 当我运行时,它不会给我一个错误,但它不会做任何事情。我希望在您选择下拉列表中的一个选项后,过滤器开始 非常感谢。您需要打电话到后端。除非您设置ajax调用,否则它不会启动 Jquery //This will fire

我是asp.net mvc新手,我将感谢您的帮助

我设计了一个下拉列表,从数据库中检索名称列表,我想在选择下拉列表后进行过滤。 我的看法是:

<div>@Html.DropDownList("DropDownList", "Select")</div>
当我运行时,它不会给我一个错误,但它不会做任何事情。我希望在您选择下拉列表中的一个选项后,过滤器开始


非常感谢。

您需要打电话到后端。除非您设置ajax调用,否则它不会启动

Jquery

//This will fire when you select a value. Make sure that the select list has the same id as 
//the one you are listening to. For instance Here the Id im listening to is selectList.

$("#selectList").change(function(){

    $.get("@Url.Action("GetPeople")",{id : $(this).val()}, function(results){
         //do what you want with results
    })

})
在后端使用另一个get方法。调用index方法更适合于获取视图而不是数据

C

在您的选择列表中,文本必须相同,但值必须与相应的PersonStatusId相同。这样,您就不必执行那些if语句


如果你需要的话,我可以更详细地解释

非常感谢你,我会非常高兴看到更多的帮助,所以我必须建立另一种方法让人们回到视图。好的,下拉列表已填充,但正如您所说,它不会启动,因此我必须添加ajex代码。我提供的jquery代码将侦听您的selectlist。当您选择一个新项目时,它将触发其中的代码。这段代码是一个ajax调用,它将调用控制器中名为GetPeople的方法。然后,该方法将向前端的ajax代码返回ActionResult。您可以使用我在函数中调用的参数results获取数据,它将是json。然后你可以用json数据做任何你想做的事情。我对我的答案做了一些编辑,使它更符合你的需要。
[HttpGet]
public ActionResult GetPeople(int id)
{
    //returned as json
    return Json(searchPerson.Where(o => o.Person.PersonStatusId == id));
}