2017-11-13 3 views
1

さて、私がしようとしていることは次のとおりです。'autoPack'という入力が空の場合、div'forma_reservas_gustos'と表示されます。空でない場合はdivを表示しないでください。私が抱えている問題は、inputの値が何であっても、常にdivが表示されるということです。私は非常に多くのことを試みましたが、何も動作していないようです。Ng-showは何であってもdivを表示します

HTML:

<input type="hidden" name="autoPack" id="autoPack" ng-model="autoPack" value=""> 

<div class="forma_reservas_gustos" ng-show="!autoPack"> 
    <div class="forma_reservas_gustos_interior wid1k pbot20"> 
    <div class="paso"> 
     <div class="butpasos"> 
     <img src="/wp-content/uploads/2017/08/uno.png" /> 
     </div> 
     <div class="textpasos"> 
     <h3>SELECCIONA EL PACK DE EXPERIENCIAS QUE MÁS TE GUSTE</h3> 
     </div> 
    </div> 
    [...] 

JS

document.forms["forma_reservas_form"].autoPack.value = "xxxx"; 

私は、Googleの開発者ツールでそれを点検し、HTML inputは値'xxxx'を持っています。したがって、実際には空ではないので、divはまだ表示されるべきではありません。何らかの奇妙な理由があります。誰か助けてくれますか?

+1

'autoPack'は、フォーム上のプロパティではなく、' $ scope'のプロパティでなければなりません。あなたのコントローラコードを表示できますか? –

+0

ng-show = "autoPack.length == 0"も動作しません。たとえそれが空であってもdivを表示しません。 :S – JJCarlk3

+1

あなたは正しいよSteve私はコントローラーについて完全に忘れていた...それは今作動する!ありがとう! – JJCarlk3

答えて

1

autoPackは、フォームのプロパティだけでなく、$scopeのプロパティである必要があります。

... 
$scope.autoPack = "xxxx"; 
... 
関連する問題