2017-04-27 15 views
1

イメージタグがDiv bindingイメージタグを持っていますが、動作していますが、イメージ値がnullの場合。ノックアウトjs非表示画像div

私は全体のdivを隠したいのですが、画像の値がnullのとき、私は空白の境界ボックスを取得、私はあなたが行うためにCSSを使用することができますknockout js

<ul id="user-listview" data-bind="foreach:dataItems"> 
    <li> 
     <div> 
     <span data-bind="text:UserID" ></span> 
      <span data-bind="text:UserName" ></span> 
      <span data-bind="text:mobilenumber"></span> 
     </div> 
     <div id="divuserImage"> 
     <span data-bind="text:ImageID" style="display:none"></span> 
     <img style="height: 200px;width: 300px;margin-top: 10px;" data-bind="attr: { src:userImageUrl }" /> 
    </div> 
    </li> 
</ul> 

function UserModel(data){ 
    self=this; 
    self.UserID=ko.observable(data.UserID) 
    self.UserName=ko.observable(data.UserName) 
    self.mobilenumber=ko.observable(data.mobilenumber) 
    self.userImageUrl=ko.observable(data.userimage) 
    self.ImageID=ko.observable(data.ImageID) 
} 

答えて

1

は、すでに

<ul id="user-listview" data-bind="foreach:dataItems"> 
    <li> 
     <div> 
      <span data-bind="text:UserID" ></span> 
      <span data-bind="text:UserName" ></span> 
      <span data-bind="text:mobilenumber"></span> 
     </div> 
     <div id="divuserImage" data-bind="visible: userImageUrl() && userImageUrl() != ' '"> 
      <span data-bind="text:ImageID" style="display:none"></span> 
      <img style="height: 200px;width: 300px;margin-top: 10px;" data-bind="attr: { src:userImageUrl }" /> 
     </div> 
    </li> 
</ul> 

を持っていない場合、私は、データバインド= "目に見えるだけを追加しました、これを試してみてください。 divタグのuserImageUrl();

jsモデルでは、self.ImageIDプロパティも必要です(または、別の方法でdataItemsの各要素に追加する場合)。たとえば:

function UserModel(data){ 
    self=this; 
    self.UserID=ko.observable(data.UserID) 
    self.UserName=ko.observable(data.UserName) 
    self.mobilenumber=ko.observable(data.mobilenumber) 
    self.userImageUrl=ko.observable(data.userimage) 
    self.ImageID=ko.observable(data.ImageID) 
} 
+0

値がヌルでも幅と高さが空白の白い枠線を取っている場合は、私のために働いていませんでした –

+0

このdivのすべてのコードまたはあなたがdivを操作するために何か他にありますか? – UberGrunk

+0

foreachループリスト内のそのバインディングは、各リストの値が異なる画像を持ちます。画像に価値がある場合は、disaplyして、divuserImage全体を非表示にする必要があります –

0

を使用して、これをアーカイブすることalso.howを削除する必要がありますこの。あなたは、単に使用することができますnullの場合はSRCには何もありイマイチ場合提供:

#divuserImage img[src=""] { 
    display: none; 
} 
+0

私のために働いていません –

+0

@kittysarvaj何がsrcにありますか? – Deckerz

+0

src = ""しかし、私はリスト内の画像をバインドしています –

関連する問題