JQuery Mobile没有执行我的整个函数

时间:2016-11-18 22:03:18

标签: javascript jquery jquery-mobile phonegap-build

我试图根据我的QR码添加listview元素。因此,当我扫描一个QR码时,我取数组的第一个值,并添加一个带有第一个值的文本的listview元素,并使用计数器等等。但是,它并没有增加我的计数器。我得到的是,一旦listview刷新,函数appendToList()就会终止。 Count不递增,ArrayIndex保持为空。我怎样才能让柜台工作?还有阵列?该功能不会一直执行。



function scan() {
  cordova.plugins.barcodeScanner.scan(
    function(result) {
      $("#nullExhibition").remove();
      resetData(); // Removes the empty exhibition text
      if (!result.cancelled) {
        if (result.format == "QR_CODE") {
          var value = result.text;
          if(!localStorage.getItem("LocalData"))localStorage.setItem("LocalData","[]")
          data = localStorage.getItem("LocalData");
          //alert(data);
          data = JSON.parse(data);
          data.push(value);
          localStorage.setItem("LocalData", JSON.stringify(data));
          //location.reload();
          alert(count);
          appendToList();
          // location.hash = '#Vote';
        }
      }
    },
    function(error) {
      alert("Scanning failed: " + error);
    }
  );
}
//JJJ Function: creates table which will be refreshed in the homePage //CW Create the listview if not created
function appendToList() { 
  $("#list").append("<li id='" + count + "' style='font-family: 'Quicksand', sans-serif !important;' class='ui-content'><a href='javascript:pageGenerator()'>" + data[0] + "</a></li>");
  $("#list").listview("refresh");
  ArrayIndex.append(data[0]);
  count ++;
}
function resetData(){
  localStorage.removeItem("LocalData");
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

你在哪里宣布全球范围内的“计数”?您可以在两个单独的函数中引用它,但既不传递它们之间的值,也不将它作为全局变量,以便两个函数都引用相同的变量。你有这种方式,每次调用appendToList()函数时都要重新初始化var。

将它添加到文档的顶部(在函数闭包之外):

var count = 0;