Javascript 如何使用带有复选框的ng show

Javascript 如何使用带有复选框的ng show,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我已经尝试了所有我能找到的解决办法,但我被卡住了。我有两个复选框,HBO和Marvin。马文需要一个节目组,HBO什么都不需要。它一直工作,直到我需要单击复选框两次才能显示/隐藏它。通常这是一个$apply()问题,但情况似乎并非如此。我认为我没有正确地更新模型。我忘了提到,当另一个为true时,复选框需要重置为false。 只需更改div ng show,如下所示: <div class="col-xs-12" ng-show="checkedHBO == 1"> 它将在

我已经尝试了所有我能找到的解决办法,但我被卡住了。我有两个复选框,HBO和Marvin。马文需要一个节目组,HBO什么都不需要。它一直工作,直到我需要单击复选框两次才能显示/隐藏它。通常这是一个$apply()问题,但情况似乎并非如此。我认为我没有正确地更新模型。我忘了提到,当另一个为true时,复选框需要重置为false。


只需更改div ng show,如下所示:

 <div class="col-xs-12" ng-show="checkedHBO == 1">

它将在没有任何附加函数调用的情况下工作

编辑: 要使其与重置上一个选定值的条件一起工作,可以使用以下方法:

<div ng-controller="ShowController as ctrl">
  <div class="col-xs-12">
    <label for="checkedHBO" class="ts-label">HBO</label>
    <input id="checkedHBO" name="mygroup" type="radio" value="hbo"  ng-model="checkedHBO" ng-change="checkedMarvin = undefined"/>
    <label for="checkedMarvin" class="ts-label">Marvin</label>
    <input id="checkedMarvin" name="mygroup" type="radio" value="marvin" ng-model="checkedMarvin" ng-change="checkedHBO = undefined"/>
  </div>
  <div class="col-xs-12" ng-show="checkedHBO">
    <center>
      <div class="jumbotron">
                 DIV 1
                </div>
      <div class="jumbotron">
                  DIV 2
                </div>
      <div class="jumbotron">
                  DIV 3
                </div>
    </center>
  </div>
</div>

HBO
马文
第一组
第2组
第3组

只需更改div ng show,如下所示:

 <div class="col-xs-12" ng-show="checkedHBO == 1">

它将在没有任何附加函数调用的情况下工作

编辑: 要使其与重置上一个选定值的条件一起工作,可以使用以下方法:

<div ng-controller="ShowController as ctrl">
  <div class="col-xs-12">
    <label for="checkedHBO" class="ts-label">HBO</label>
    <input id="checkedHBO" name="mygroup" type="radio" value="hbo"  ng-model="checkedHBO" ng-change="checkedMarvin = undefined"/>
    <label for="checkedMarvin" class="ts-label">Marvin</label>
    <input id="checkedMarvin" name="mygroup" type="radio" value="marvin" ng-model="checkedMarvin" ng-change="checkedHBO = undefined"/>
  </div>
  <div class="col-xs-12" ng-show="checkedHBO">
    <center>
      <div class="jumbotron">
                 DIV 1
                </div>
      <div class="jumbotron">
                  DIV 2
                </div>
      <div class="jumbotron">
                  DIV 3
                </div>
    </center>
  </div>
</div>

HBO
马文
第一组
第2组
第3组

您应该使用无线电输入,而不是复选框


您应该使用无线电输入,而不是复选框




应使用
ng checked
当使用
ng model
时,您可以在此处找到github链接我忘了提到,当另一个为true时,复选框需要重置为false。您是否仅在选中Marvin但HBO未选中时才尝试使内容可见?e、 是的,这是正确的。请参阅updateah没有看到您关于在另一个复选框设置为true时将一个复选框重置为false的评论。您应该使用无线电输入,而不是复选框如果是这种情况,则应使用
ng checked
当使用
ng model
时,您可以在此处找到github链接我忘了提到,当另一个为真时,复选框需要重置为false。您是否试图使内容仅在选中Marvin而HBO未选中时可见?e、 是的,这是正确的。请参阅updateah没有看到您关于在另一个复选框设置为true时将一个复选框重置为false的评论。你应该使用无线电输入,而不是复选框,如果是这样的话,你能给我看一个弹夹吗。这个例子不适合你的第二个要求:请输入答案。实际上,我需要将ng模型命名为Differently,我如何才能做到这一点,使ng模型保持原样。事实上,我不认为有必要更新答案,以便按照您在Plunkker中向我展示的初始plnkrcan中定义的模型。这个例子不适合你的第二个要求:请输入答案。实际上,我需要将ng模型命名为Differently,我如何才能做到这一点,使ng模型保持原样。事实上,我不认为有必要更新答案,以便在初始plnkr中定义模型