这个用于SELECT列表的JQuery绑定有什么问题?

Chr*_*mes 4 model-view-controller jquery asp.net-mvc-3

我在页面上有几个选择列表.它们都以数组方式命名,以便它们在视图模型的列表中回发到Controller.渲染它们时,它们看起来像这样:

<select id="OrderItemViewModels_2__OrderItemStatusId" name="OrderItemViewModels[2].OrderItemStatusId"><option value="-1"></option>
<option value="1">CONFIRMED</option>
<option value="2">NO SALE</option>
<option value="3">PENDING</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我正在尝试将.change事件处理程序绑定到它们,因此我可以触发.ajax调用以根据此值的值填充另一个下拉列表,但绑定不起作用.JS看起来像这样:

 $(document).ready(function () {
      $('select[name$="OrderItemStatusId"]').each(function (){
        //alert(this.name);
        var dropdown = this;
        dropdown.change(function() {
          alert('testing ');
          //GetOrderItemReasons(dropdown.val());
        });
      });
Run Code Online (Sandbox Code Playgroud)

我收到的错误是"对象不支持此属性或方法".但是,第一个警报清楚地显示该项目正在被选中,因为它正确显示了名称.

我在这做错了什么?

wsa*_*lle 9

更改:

var dropdown = this;
Run Code Online (Sandbox Code Playgroud)

至:

var dropdown = $(this);
Run Code Online (Sandbox Code Playgroud)

change()是一个jQuery对象的方法,因此你需要包含thisjQuery()or 的调用$().