jquery - SELECT 列表的 JQuery 绑定(bind)有什么问题?

标签 jquery asp.net-mvc-3 model-view-controller

我在一个页面上有几个选择列表。它们都以数组方式命名,以便它们以 View 模型的列表形式回发到 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>

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

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

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

我在这里做错了什么?

最佳答案

更改:

var dropdown = this;

致:

var dropdown = $(this);

change()是 jQuery 对象的方法,因此您需要将 this 包装在对 jQuery()$() 的调用中。

关于jquery - SELECT 列表的 JQuery 绑定(bind)有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7997491/

相关文章:

python - Python 中的 MVC 模型结构

jquery - 向表格单元格添加箭头

jquery - 带有多个参数的 Json Post 请求

asp.net-mvc - MVC 3 使用具有不同扩展名的自定义 httphandler

ASP.NET MVC 3、Entity Framework 4。更新与许多相关的实体

c# - 使用 HttpPost 将 IEnumerable 或列表模型传递给 Controller

ruby-on-rails - 如何将 session 变量传递给 RoR 中的模型?

python - 非数据库驱动模型的 Django MVC 模式?

javascript - 如何使用 jQuery 将 JSON 对象创建到数组中?

javascript - 点击页面任意位置关闭div