有办法重新填充Html Select的选项而不触发Change事件。您可以使用jQuery的.off()
方法来暂时移除change
事件处理程序,然后在更新选项后再使用.on()
方法重新绑定事件处理程序。以下是一个示例:
// 假设这是您的Change事件处理程序
function onSelectChange() {
console.log('Select 选项发生变化');
}
// 使用jQuery绑定Change事件处理程序
$('#your-select').on('change', onSelectChange);
// 更新选项时暂时移除Change事件处理程序
function updateOptions() {
// 移除Change事件处理程序
$('#your-select').off('change', onSelectChange);
// 更新选项
// 假设这是您的新选项数组
var newOptions = ['Option 1', 'Option 2', 'Option 3'];
var selectElement = $('#your-select');
selectElement.empty(); // 清空现有选项
$.each(newOptions, function(index, option) {
selectElement.append($('<option>').text(option).val(option));
});
// 重新绑定Change事件处理程序
$('#your-select').on('change', onSelectChange);
}
// 调用 updateOptions 函数以更新选项
updateOptions();
这样,在调用updateOptions
函数时,onSelectChange
函数不会被触发。您可以根据需要随时调用updateOptions
函数以更新选项,而不会触发change
事件。
领取专属 10元无门槛券
手把手带您无忧上云