2015-12-07 21 views
0

我正在使用一個小的mvc視圖,我希望能夠在兩個位置之一或兩者之間切換數據源(ajax調用控制器)。這一切都很好,直到我點擊3次不同的切換時間,然後所有三次切換都變得沒有響應。我試過點擊並更改事件,結果相同。jquery事件在3次點擊後退出

頁面上唯一的其他項目是左側導航視圖,在切換空閒後仍然有效。

如果我使用切換離開視圖並返回到視圖,它們仍然會被破壞。如果我堅持刷新頁面,他們會再次點擊3次。

我對此感到茫然,需要一些幫助。有什麼想法嗎?

我切換

<div class="btn-group"id="divToggle" data-toggle="buttons"> 
      <label class="btn blue"> 
       <input type="radio" value="1" class="toggle DashToggle"> US06 
      </label> 
      <label class="btn blue active"> 
       <input type="radio" value="0" class="toggle DashToggle"> BOTH 
      </label> 
      <label class="btn blue"> 
       <input type="radio" value="2" class="toggle DashToggle"> US05 
      </label> 

     </div> 

而且我認爲包括5個格塊像下面

<div class="col-lg-2 col-md-4 col-sm-6 col-xs-12"> 
       <div class="dashboard-stat blue-soft"> 
        <div class="visual"> 
         <i class="fa fa-car"></i> 
        </div> 
        <div class="details"> 
         <div class="number stat_ActiveJits"> 
          1349 
         </div> 
         <div class="desc"> 
          Active JITS 
         </div> 
        </div> 
        <a class="more" href="javascript:;"> 
         View Details <i class="m-icon-swapright m-icon-white"></i> 
        </a> 
       </div> 
      </div> 

我已經嘗試了Jquery的側所有下面的例子,他們都辭掉工作後3點擊...

$(document).ready(function() { 


    $('#divToggle input[type=radio]').change(function() { 
     BuildDashBoard(this.value) 
    });  
}); 

$('#divToggle input[type=radio]').live().change(function() { 
    BuildDashBoard(this.value) 
}); 

$('.divToggle').on('change', '.DashToggle', (function() { 
    BuildDashBoard(this.value) 
})); 

是的切換類已更改爲匹配這些。

$(".US06_DashToggle").change(function() { 
    BuildDashBoard(1) 
}) 
$(".US05_DashToggle").change(function() { 
    BuildDashBoard(2) 
}) 
$(".DYNA_DashToggle").change(function() { 
    BuildDashBoard(0) 
}) 

最後我的ajax調用工作正常。

function BuildDashBoard(plantid) 
{ 
    var uri = 'http://' + host + '/DashBoard/DashStats'; 


    $.ajax({ 
     type: 'POST', 
     url: uri, 
     data: { PlantId: plantid }, 
     success: function (d) { 

      $('.stat_ActiveJits').text(d.ActiveJits.toString()); 
      $('.stat_PastDueJits').text(d.PastDueJits.toString()); 
      $('.stat_ActiveExpedites').text(d.ActiveExpedites.toString()); 
      $('.stat_PastDueExpedites').text(d.PastDueExpedites.toString()); 
      $('.stat_ActiveProductionOrders').text(d.ActiveProductionOrders.toString()); 
      //$.notific8('Application Options Updated', { theme: 'teal', life: 2000, verticalEdge: 'right', horizontalEdge: 'bottom' }); 
     } 

    }); 
} 
+0

所有這些東西都有'BuildDashBoard(somevalue)'這個共同點。你有沒有測試過,看看是否正在執行第4次迭代?我可以確認你的事件綁定事實上會導致事件處理程序觸發3次以上,所以問題必須是'BuildDashBoard'。 –

+0

我可以在調用該函數時折騰一個斷點,它只會打到前3次。在第三次點擊/更改後,光標永遠不會進入函數調用。 – Logan

+0

這表明某些事情正在解除事件或替換輸入。 (您提供的代碼中沒有任何內容會這樣做)。 –

回答

0

幾個小時,這個戰鬥評論凱文·B製備有關單選按鈕需要的名字讓我重新考慮我的CSS後嘛。我的CSS是不正確的做分組,所以一旦我點擊一個按鈕,它被檢查,並從未取消選中。它沒有像按鈕一樣工作的原因,我沒有線索,我完成了它。