2017-10-18 68 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));