【发布时间】:2017-07-20 07:31:10
【问题描述】:
我在 IE 中启动 on change 事件时遇到问题。我尝试过的所有方法都可以在 Chrome、Mozilla、Safari、Opera 等其他浏览器中运行……但在 IE 11 中却不行
这是我的代码
html
<form method="post" id="exchangeType" action="/orders/vesselExchange">
...
<label id="deliveryDateTitleLabel" for="deliveryDate"><?= __('First time') ?></label><br/>
<label class="radio radio-inline m-r-20">
<input type="radio" name="deliveryDate" value="asap" checked>
<i class="input-helper"></i>
<?= __('First time') ?>
</label>
<label class="radio radio-inline m-r-20">
<input type="radio" name="deliveryDate" value="custom">
<i class="input-helper"></i>
<?= __('Second time') ?>
</label>
...
</form>
jQuery
$('#exchangeType input').on('change', function() {
console.log('in function');
let option = ($('input[name=deliveryDate]:checked', '#exchangeType').val());
let dateTimePicker = $('#showPicker');
if (option === 'custom') {
dateTimePicker.removeClass('hidden');
}
if (option === 'asap') {
dateTimePicker.addClass('hidden');
}
});
到目前为止我所尝试的
$(document).on('change','#exchangeType input' ,function(){
...
}
$(document.body).on('change','#exchangeType input' ,function(){
...
}
$('#exchangeType').on('change','input[name=deliveryDate]',function(){
...
}
与“click”功能相同(不变)
我已经阅读并实现了一些关于 stackoverflow 的类似问题的答案:
- Jquery select change not firing
- .val() doesn't trigger .change() in jquery
- OnChange not firing in IE
但它不起作用......
谢谢
【问题讨论】:
-
试试
$("body").on("change", "#elementID", function(){ //code here }); -
@BobSwager 问题不重复。我已经尝试过该问题的解决方案,但它不起作用,重复的问题也没有答案。
-
@N.Ivanov 我试过了,但它不起作用(在 Chrome、Mozilla 和 Opera 中有效,但在 IE 中无效)
-
@JohnWayne 您是否尝试过通过单击
Ctrl+F5清除浏览器缓存并重新加载 javascript?可能js没有刷新。