我的代码似乎适用于PC Express
/ Chrome
/ IE
但是当涉及到Firefox
时,我收到了错误(请参阅下文)。我正在使用Safari
。
我试图在选择后添加选择选项的值并创建总计。总数将随着变化而变化。我知道这似乎是在创建Safari 8.0.8
然后尝试使用global var
访问它时,但我似乎无法让它工作。
该解决方案必须在移动设备上运行,因为它正在为移动设备构建,但也无法在iPhone上运行。我使用的是safari
和JQuery
。
还有另一种解决方法吗?我可以简化JQuery Mobile
(有30种选择可供选择,我需要这个JQuery
还有更多smaller
)?
错误:
efficient
段:
ReferenceError: Can't find variable: previous
$('#select-choice-timely').on('click', function () {
previous = this.value;
}).change(function () {
var a = $('#fr-total').html();
var ab = parseInt(a, 10) - parseInt(previous, 10);
var b = $(this).val();
var c = parseInt(ab, 10) + parseInt(b, 10);
$('#fr-total').html(c);
});
链接:
答案 0 :(得分:1)
在Safari中似乎change
在click
之前触发,因此previous
中的change
未定义 - 回调。
另一种方法:
$("#select-choice-timely").change(function() {
var a = $("#fr-total").html();
var ab = parseInt(a, 10) - parseInt($(this).prop('previous'), 10);
var b = $(this).val();
var c = parseInt(ab, 10) + parseInt(b, 10);
$("#fr-total").html(c);
$(this).prop('previous',this.value)
}).prop('previous',function(){return this.value});