需要帮助解决ajax调用问题 在我的视图页面(处理codeigniter),有一个下拉列表和一个div 部分。根据下拉值,数据将在div部分得到更改。我是 使用ajax调用(在控制器中调用方法)上传div标签中的数据 下拉变更事件。 Ajax调用在第一次更改事件时工作正常 下拉列表但是当我在下拉列表中第二次选择值时,ajax函数 呼叫不起作用(第二次选择等) 我的代码是: VIEW PAGE =>
$(document).ready(function() {
$("body").on('change','#assettype_id',function(e){ // "assettype_id" is
dropdown id
//e.preventDefault();
var categoryval = $('#assettype_id :selected').val();
$.ajax({
type: 'POST',
cache: false,
url: 'http://my_path/index.php/assetcontroller/assignpc/'+ categoryval, // Based on "categoryval" data will change in div tag
dataType: 'html',
success: function(data) {
$( "#result" ).load( "http://my_path/index.php/assetcontroller/assignpc/"+ categoryval); // "result" is div tag id
$( "#result" ).html(categoryval);
},
});
return false;
});
});
为什么ajax呼叫在下拉列表中不起作用'第二次'改变事件?
答案 0 :(得分:0)
您需要将.on('change')
事件包装到一个函数中,以便以后随时调用它。
那是因为一旦你通过Ajax添加了新的html输出,这个html还不知道你的更改事件!
因此,一旦使用my_change_event()
$( "#result" ).load()
类似的东西:
$(document).ready(function() {
my_change_event();
});
function my_change_event(){
$( "#assettype_id" ).on( "change", function() {
$.ajax({
type: 'POST',
cache: false,
url: your_url,
success: function(data) {
// do something with data
// html output
my_change_event();
}
});
}