2016-12-18 38 views
1

我正在使用MVC - 在我的一個視圖中,我有一個按鈕,我希望切換點擊值。這裏的視圖按鈕代碼:MVC Javascript按鈕值錯誤

<div class="col-md-10"> 
    <input type="button" value="Yes" class="btn btn-default" id="CanOrder" /> 
</div> 

這是我爲它的單擊事件的javascript:

<script> 
    $('#CanOrder').click(function() { 
     if ($(this).val('Yes')) { 
      alert("button says Yes"); 
      $(this).val('No'); 
     } 
     else { 
      alert("button says No"); 
      $(this).val('Yes'); 
     } 
    }); 
</script> 

開始的時候,這個工作...按鈕顯示「是」,並當我點擊它時,我得到警報「按鈕說是」,然後它變爲「否」。

但是之後,每當我點擊它時,它會立即將按鈕上的文本更改爲「是」,然後我收到警告「按鈕說是」,並且它變回「否」 。

如果我嘗試在沒有警報的情況下運行該頁面,我甚至不會看到它回到「是」 - 它像第一次工作時單擊它一樣,然後它只會在我單擊時說「否」在那之後。

我在做什麼錯?

謝謝!

+1

我相信你需要糾正你的平等檢查'... val()===「是」。查找jquery val()的用法,看起來好像沒有正確使用 –

回答

1

爲了檢查CanOrder您需要更正您的if語句值:

<script> 
    $('#CanOrder').click(function() { 
     if ($(this).val() === "Yes") { 
      alert("button says Yes"); 
      $(this).val('No'); 
     } 
     else { 
      alert("button says No"); 
      $(this).val('Yes'); 
     } 
    }); 
</script> 

您可以瞭解更多有關val方法here