好的,我要做的是创建一个选择框列表,根据上面的内容更新它们的值:
第一个是这样的:
<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中具有值但后者不具有值的事实有关。我怎么解决?
感谢您的帮助,感谢任何建议。
答案 0 :(得分:0)
你在第二个例子中调用on.change而不是像第一个例子中那样.change。