2017-10-18 81 views
2

切換ExamplationjQuery的切換不正確

在我的理解,你可以只檢查變量具有真值與否。這意味着 如果如果值不是(值){ }

的值爲true:

  • 不確定
  • NaN的
  • 空字符串( 「」)
  • false

在我的JavaScript我有;

$("#AccountDetails_Name").text(data.Name); 
$("#AccountDetails").toggle(data.Name); 

and this html;

<div id="AccountDetails" class="alert alert-warning" style="display:none;"> 
    <strong>Name:</strong> <span id="AccountDetails_Name">@Model.AccountName</span> 
</div> 

當我調試我對切換div的知名度和可以看到data.Name等於「湯姆先生恆信」行斷點的JavaScript。但是,div「AccountDetails」從視圖中隱藏。

發生了什麼 的DIV沒有顯示時data.Name是具有價值

我希望發生 的div來顯示窗體上時data.Name有valuwe什麼

我所做的,解決它 我改變了這一行

$("#AccountDetails").toggle(data.Name); 

$("#AccountDetails").toggle(data.Name != null && data.Name != ""); 

但是我很困惑,爲什麼原來沒有工作

+0

'.toggle()'需要一個布爾值作爲參數 – guest271314

+0

@ gurvinder372可以添加你作爲一個答案,所以我可以將其標記。這很好,謝謝 –

回答

2

falsey是不完全一樣的false

typeof falseboolean而falsey可能是numberstring以及。

只是一味

$("#AccountDetails").toggle(Boolean(data.Name)); 

$("#AccountDetails").toggle(!!(data.Name));