我有一个代码,它在选择框#type
的更改事件上运行为id。该元素在bootstrap模式窗口中通过ajax加载。它通过显示/隐藏相关元素并触发ajax请求,在更改事件上正常工作。
现在我想每次都运行它,除了更改事件之外还加载ajax内容,因为有时会为#type
元素加载默认值并且我想显示/隐藏元素并触发ajax请求ajax内容加载那个时间。
我尝试使用load
这样的事件,
$(document).on('load change', '#geo-form #type', function () {...
但是id不起作用。我怎样才能做到这一点。
这是默认的工作代码,截至目前。
$(document).on('change', '#geo-form #type', function () {
var value = $(this).val();
console.log(value);
if (value == '') {
$.getJSON(url('ajax/divisions'), null, function (data) {
$("#geo-form #division_id").html('');
$("#geo-form #division_id").append(
$("<option></option>").text('Select one').val('')
);
$.each(data, function (id, name) {
$("#geo-form #division_id").append(
$("<option></option>").text(name).val(id)
);
});
});
}
switch (value) {
case 'district':
$('#geo-form .division').removeClass('hide');
$('#geo-form .district').addClass('hide');
$('#geo-form .tehsil').addClass('hide');
$('#geo-form .block').addClass('hide');
break;
case 'tehsil':
$('#geo-form .division').removeClass('hide');
$('#geo-form .district').removeClass('hide');
$('#geo-form .tehsil').addClass('hide');
$('#geo-form .block').addClass('hide');
break;
case 'block':
$('#geo-form .division').removeClass('hide');
$('#geo-form .district').removeClass('hide');
$('#geo-form .tehsil').removeClass('hide');
$('#geo-form .block').addClass('hide');
break;
case 'village':
$('#geo-form .division').removeClass('hide');
$('#geo-form .district').removeClass('hide');
$('#geo-form .tehsil').removeClass('hide');
$('#geo-form .block').removeClass('hide');
break;
}
});