功能';关于变化';javascript在asp.net mvc中不起作用的原因

功能';关于变化';javascript在asp.net mvc中不起作用的原因,javascript,jquery,asp.net,.net,asp.net-mvc-5,Javascript,Jquery,Asp.net,.net,Asp.net Mvc 5,我尝试使用js ASP.NET MVC 5查看基于类别的产品列表。我是新手,它不会对选择框起作用。这是我的代码: 我的选择块: <select class="SelectCategory" name="SelectCategory"> <option value="0">All</option> @foreach (var item in ViewBag.categories) { if (ViewBag.SelectedCat == item.Val

我尝试使用js ASP.NET MVC 5查看基于类别的产品列表。我是新手,它不会对选择框起作用。这是我的代码:

我的选择块:

<select class="SelectCategory" name="SelectCategory">
<option value="0">All</option>
@foreach (var item in ViewBag.categories)
{
    if (ViewBag.SelectedCat == item.Value)
    {
        <option selected="selected" value="@item.Value">@item.Text</option>
    }
    else
    {
        <option value="@item.Value">@item.Text</option>
    }
}

全部的
@foreach(ViewBag.categories中的变量项)
{
如果(ViewBag.SelectedCat==item.Value)
{
@项目.案文
}
其他的
{
@项目.案文
}
}

Js:

@节脚本{
$(函数(){
$(“#选择类别”)。在(“更改”,
函数(){
var url=$(this.val();
如果(url){
window.location=“/admin/shop/Products?catId=“+url;
}
返回false;
});
});
}
$(“#选择类别”)。在(“更改”上,

这是错误的,因为您的元素不包含ID元素,而ID元素正是jQuery选择器中的
符号所指示的

如果要通过“名称”属性以元素为目标,则应使用以下命令:

$(“[name='SelectCategory']”)。在(“更改”上,
$(“#SelectCategory”)
这将查找id为的dom,但您使用了类和名称。您可以添加id属性来选择

<select id='SelectCategory' class="SelectCategory" name="SelectCategory">

<select id='SelectCategory' class="SelectCategory" name="SelectCategory">