【问题标题】:Ng-show shows div no matter whatng-show 无论如何都显示 div
【发布时间】:2017-11-13 18:20:41
【问题描述】:

好的,我正在尝试执行以下操作:如果名为 'autoPack' 的输入为空,则显示 div 'forma_reservas_gustos'。如果它不为空,则不要显示div。我遇到的问题是,无论input 的值是多少,始终显示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,但这是出于某种奇怪的原因。有人可以帮帮我吗?

【问题讨论】:

  • autoPack 应该是$scope 的属性...而不仅仅是表单上的属性。你能显示你的控制器代码吗?
  • ng-show="autoPack.length == 0" 也不起作用。然后它永远不会显示 div,即使它是空的。 :S
  • 天哪,你说得对,史蒂夫我完全忘记了控制器……它现在可以工作了!谢谢!!!
  • @SteveDanner 考虑回答这个问题,这样它就不会再出现未回答了。或者OP可以自己回答。
  • @JustinJmnz,好电话。完成

标签: javascript jquery html css angularjs


【解决方案1】:

看起来autoPack 需要是$scope 的属性...而不仅仅是表单上的属性。

...
$scope.autoPack = "xxxx";
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    相关资源
    最近更新 更多