IE Javascript值未更新

IE Javascript值未更新,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML范围控件,使用javascript将值传递回HTML类 请参阅以下代码: HTML 该代码在Edge、Safari和Firefox上运行良好。但在IE上,total4字段会更新,但usercount4和servercount4字段不会更新 这里可以看到一个工作演示(代码来自页面上最后一组范围控件) www.yellowsand.co.uk/#电话 非常感谢您的帮助。试试: $(document).ready(function() {

我有一个HTML范围控件,使用javascript将值传递回HTML类

请参阅以下代码:

HTML

该代码在Edge、Safari和Firefox上运行良好。但在IE上,total4字段会更新,但usercount4和servercount4字段不会更新

这里可以看到一个工作演示(代码来自页面上最后一组范围控件)

www.yellowsand.co.uk/#电话

非常感谢您的帮助。

试试:

                    $(document).ready(function() {

                    var total4;
                    var count4 = $('#usercount4').val();
                    var addToTotal4 = function(){
                        total4 += parseFloat(this.value);
                    };

                    var compute4 = function() {
                        total4 = 0;
                        $('.option4:checked ,#servercount4 ,#usercount4').each(addToTotal4);
                        $('.total4').text('£' + (total4 + (parseFloat($('#usercount4').val())*5)-(parseFloat($('#usercount4').val()))).toFixed(0));             
                    };

                    $('.option4, #servercount4 , #usercount4').change(compute4);

                    $('#usercount4').on('input change', function(){
                        $('.usercount4').text($('#usercount4').val());

                    });

                    $('#servercount4').on('input change', function(){
                        $('.servercount4').text(parseFloat($('#servercount4').val())/5);
                    });

                    $('#usercount4').on('input change', function(){
                    $('.total4').text('£' + (parseFloat($('#servercount4').val())+parseFloat(($('#usercount4').val())*5)));
                    });

                    $('#servercount4').on('input change', function(){
                    $('.total4').text('£' + (parseFloat($('#servercount4').val())+parseFloat(($('#usercount4').val())*5)));
                    });

                });
未使用变量
count4


<>你应该考虑重构你的代码! 谢谢,但我正在测试IE 11,所以oninput事件应该是一个受支持的功能。我不这么认为,IE不能保证适用于任何标准。它也不能解释为什么我的一些值正在更新,而其他值没有更新。谢谢,但我不认为这是我需要的答案。谢谢,但是你做了什么改变,提供的代码看起来和原来的一样?它也以同样的方式工作。可以,但usercount4和servercount4值不会更新。请尝试我刚刚修改的代码的新版本。我改变了一些计算操作。我认为这可能是IE的问题,因为有一些艰难的转换。但这似乎是一个不会触发的输入事件。我添加了变更事件处理。我不知道它是否能胜任这项工作……如果我能帮忙,我会很高兴的!
                    $(document).ready(function() {

                    var total4;
                    var count4 = $('#usercount4').val();
                    var addToTotal4 = function(){
                        total4 += parseFloat(this.value, 10);
                    };

                    var compute4 = function() {
                        total4 = 0;
                        $('.option4:checked ,#servercount4 ,#usercount4').each(addToTotal4);
                        $('.total4').text('£' + (total4 + ($('#usercount4').val()*5)-($('#usercount4').val())).toFixed(0));             
                    };

                    $('.option4, #servercount4 , #usercount4').change(compute4);

                    $('#usercount4').on('input', function(){
                        $('.usercount4').text($('#usercount4').val());

                    });

                    $('#servercount4').on('input', function(){
                        $('.servercount4').text($('#servercount4').val()/5);
                    });

                    $('#usercount4').on('input', function(){
                    $('.total4').text('£' + (parseFloat($('#servercount4').val())+parseFloat(($('#usercount4').val()*5))));
                    });

                    $('#servercount4').on('input', function(){
                    $('.total4').text('£' + (parseFloat($('#servercount4').val())+parseFloat(($('#usercount4').val()*5))));
                    });

                });
                    $(document).ready(function() {

                    var total4;
                    var count4 = $('#usercount4').val();
                    var addToTotal4 = function(){
                        total4 += parseFloat(this.value);
                    };

                    var compute4 = function() {
                        total4 = 0;
                        $('.option4:checked ,#servercount4 ,#usercount4').each(addToTotal4);
                        $('.total4').text('£' + (total4 + (parseFloat($('#usercount4').val())*5)-(parseFloat($('#usercount4').val()))).toFixed(0));             
                    };

                    $('.option4, #servercount4 , #usercount4').change(compute4);

                    $('#usercount4').on('input change', function(){
                        $('.usercount4').text($('#usercount4').val());

                    });

                    $('#servercount4').on('input change', function(){
                        $('.servercount4').text(parseFloat($('#servercount4').val())/5);
                    });

                    $('#usercount4').on('input change', function(){
                    $('.total4').text('£' + (parseFloat($('#servercount4').val())+parseFloat(($('#usercount4').val())*5)));
                    });

                    $('#servercount4').on('input change', function(){
                    $('.total4').text('£' + (parseFloat($('#servercount4').val())+parseFloat(($('#usercount4').val())*5)));
                    });

                });