添加到总数onClick,JqueryMobile

时间:2014-04-18 15:16:40

标签: javascript jquery-mobile numbers counter

我是一名学生,我是javascript的新手。对于课堂,我正在制作一个模拟应用程序。我的应用程序应该花费“积分”并购买它们,同时保持运行总计。我有两个问题:

首先,我的一个页面上正在识别我的“运行总计”,而不是具有相同选择器的其他两个页面。

HTML:

当我尝试不同的代码时,我意识到这曾经保持了统计数据,但现在根本没有变化;

     <div data-role="page" id="page2" data-add-back-btn="true">
       <div data-role="content" id="pg2">

       <center><span class="credits" id="txtNumber">4</span></center>
    <div data-role="button"  onclick="btnClick(1)" class="custom1">Spend</div>`

这个工作正常(主页):

    <div data-role="page" id="mainPage" class="ui-grid-a">

      <div data-role="content" id="pg1">    
       <h1 class="titles">Credits:<span class="credits" id="txtNumber">4</span></h1>

并且这个从未注册过这个变化:

            <div data-role="page" id="buyCredits">
                <div data-role="content" id="buy">
           <h1 class="titles">Buy Credits:<span class="credits" id="txtNumber">4</span></h1>

那些javascript,就在我的结束标题标记之前:

    var txtNumber=4;

     document.getElementById("txtNumber").innerHTML = txtNumber;
      var txtNumber=4;

    function btnClick(){
        var r=confirm("Credits are non-refundable. Are you sure you want to use one?");
      if (r==true)
        {
        txtNumber --;
      window.location.href = "#code";
       document.getElementById("txtNumber").innerHTML = txtNumber;
    return true
      }
    else
    {
     }

}

“信用”号码会在故意刷新后返回到4,但是,至少在主页面上,它在导航其他页面时不会“刷新”。我做错了什么,为什么它只能在主页面上工作,而不是函数调用的实际按钮所在的页面?

我甚至将所有元素都更改为类并更改了getElementsByClassName,但它完全停止了工作。

接下来,我还需要一个模拟“购买”按钮。这是我的HTML:

     <div data-role="button" onClick="oneCredit(1)">1 Credit</div>
            <div data-role="button" onClick="twoCredit(2)">2 Credits</div>
            <div data-role="button" onClick="fiveCredit(5)">5 Credits</div>

我的javascript:

    function oneCredit(){
         var c=confirm("Confirm credit purchase. Your account will be charged $7.00.");
    if (c==true)
      {
            txtNumber +=1;

             document.getElementById("txtNumber").innerHTML = txtNumber;
           return true 
          }
          else
          {
          }
     }

同样,更改仅显示在主屏幕上,而不显示在按钮所在的实际页面上。此外,确认提示不会工作。 ):

ELI5:我想学习如何在将来修复它。

1 个答案:

答案 0 :(得分:0)

getElementsByClassName以来 没有这么好的工作,我只是改变了他们的个人身份,他们似乎工作正常。它可能不是很优雅,但它现在都有用了!

function btnClick(){
    var r=confirm("Credits are non-refundable. Are you sure you want to use one?");
if (r==true)
  {
  txtNumber --;
   txtNumber1 --;
    txtNumber2 --;
  window.location.href = "#code";
  document.getElementById("txtNumber").innerHTML = txtNumber;
  document.getElementById("txtNumber1").innerHTML = txtNumber;
document.getElementById("txtNumber2").innerHTML = txtNumber;


return true


  }
else