Jquery / Ajax选择框onChange触发器

时间:2015-02-08 15:47:12

标签: javascript jquery ajax drop-down-menu onchange

好的,我要做的是创建一个选择框列表,根据上面的内容更新它们的值:

第一个是这样的:

<script>

var $schoolRegion = $('#stage_attendedSchoolRegion');
$schoolRegion.change(function() {
  var $form = $(this).closest('form');
  var data = {};
  data[$schoolRegion.attr('name')] = $schoolRegion.val();
  $.ajax({
    url : $form.attr('action'),
    type: $form.attr('method'),
    data : data,
    success: function(html) {
      $('#stage_attendedSchoolDistrict').replaceWith(
        $(html).find('#stage_attendedSchoolDistrict')
      );
    }
  });
});

</script>

当它的值发生变化时,会调度ajax请求,并使用POST html值更新“#stage_attendedSchoolDistrict”选项的选项。

由于这里一切都很好,现在我需要对“#stage_attendedSchoolDistrict”做同样的选择:

<script>

var $schoolDistrict = $('#stage_attendedSchoolDistrict');
$schoolDistrict.on.change(function() {
  var $form = $(this).closest('form');
  var data = {};
  data[$schoolDistrict.attr('name')] = $schoolDistrict.val();
  $.ajax({
    url : $form.attr('action'),
    type: $form.attr('method'),
    data : data,
    success: function(html) {
      $('#stage_attendedSchoolCity').replaceWith(
        $(html).find('#stage_attendedSchoolCity')
      );
    }
  });
});

</script>

问题是该事件根本不会触发。我认为这与前者在页面的HTML中具有值但后者不具有值的事实有关。我怎么解决?

感谢您的帮助,感谢任何建议。

1 个答案:

答案 0 :(得分:0)

你在第二个例子中调用on.change而不是像第一个例子中那样.change。