Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery引用错误(特定于Safari)_Javascript_Jquery_Jquery Mobile_Safari - Fatal编程技术网

Javascript JQuery引用错误(特定于Safari)

Javascript JQuery引用错误(特定于Safari),javascript,jquery,jquery-mobile,safari,Javascript,Jquery,Jquery Mobile,Safari,我的代码似乎可以在Chrome/IE/Firefox上运行,但当涉及Safari时,我遇到了一个错误,请参见下文。我正在使用Safari 8.0.8 我正在尝试将选定选项的值相加,然后创建一个总数。当然,总数会随着课程的变化而变化。我知道这似乎是在创建一个全局变量,然后尝试使用safari访问它时发生的,但我似乎无法让它工作 该解决方案也必须在移动设备上运行,因为它是为移动设备构建的,但也不能在iPhone上运行。我正在使用JQuery和JQuery Mobile 还有别的办法吗?我可以简化JQ

我的代码似乎可以在Chrome/IE/Firefox上运行,但当涉及Safari时,我遇到了一个错误,请参见下文。我正在使用Safari 8.0.8

我正在尝试将选定选项的值相加,然后创建一个总数。当然,总数会随着课程的变化而变化。我知道这似乎是在创建一个全局变量,然后尝试使用safari访问它时发生的,但我似乎无法让它工作

该解决方案也必须在移动设备上运行,因为它是为移动设备构建的,但也不能在iPhone上运行。我正在使用JQuery和JQuery Mobile

还有别的办法吗?我可以简化JQuery吗?有30个选项可供选择,我需要更小更高效的选项

错误:

片段:

$'select-choice-Timedal'。单击,函数{ previous=此值; }.changefunction{ var a=$'fr-total'.html; var ab=parseInta,10-parseIntprevious,10; var b=$this.val; var c=parseIntab,10+parseIntb,10; $'fr-total'.htmlc; }; 戴夫·史密斯 业务单位 添加性能数据 财务报告 及时报告 基本的 发达的 先进的 高性能 世界级 准确报告 基本的 发达的 先进的 高性能 世界级 高效流程 基本的 发达的 先进的 高性能 世界级 和谐及;灵活的 基本的 发达的 先进的 高性能 世界级 量度及;监控性能 基本的 发达的 先进的 高性能 世界级 全部的 5. 提交数据 在Safari中,更改在单击之前触发,因此在更改回调中未定义previous

另一种方法:

$("#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});

谢谢我花了一段时间才意识到这个问题。
$("#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});