2017-04-07 81 views
0

我在一个角度的应用程序中使用iCheck,我有一个基本的复选框,当选中时显示图像。这与ng-show完美协作,但是当我在我的控制器中将该值设置为true时,它不会在加载页面时返回检查。复选框没有显示检查时设置值为真

控制器

$scope.basicIntake = {}; 
$scope.basicIntake.insurance_cover = true; 

HTML

<div class="row"> 
      <div class="form-group col-lg-6"> 
       <div class="col-lg-12"> 
        <label> 
         <input icheck type="checkbox" ng-model="basicIntake.insurance_cover"> 
          click to see image 
        </label> 
       </div> 
      </div> 
      <div class="form-group col-lg-6"> 
       <div class="col-lg-12"> 
        <img ng-src="http://i.imgur.com/vkW3Lhe.jpg" class="img-responsive img-thumbnail" ng-show="basicIntake.insurance_cover"> 
       </div> 
      </div> 
     </div> 
+0

这些代码并没有太大的意义,但在任何情况下,使一个复选框来检查您需要设置“选中”属性到“真”,而不是“价值”。 – Pointy

+0

只要绑定到'ng-checked =“basicIntake.insurance_cover”' –

+0

@miguelLattuada它可以工作,如果我设置'ng-checked =“true”'但是当我将它设置为'ng-checked =“basicIntake.insurance_cover” '我仍然对angularjs很陌生,所以可能与范围有关? – Bish25

回答

2

这是因为你的模板未绑定到任何控制器指令ng-controller。 你的属性不会被创建,直到你做任何事件。如:click

看到此附件fiddle并尝试连接。 尝试从顶部Div删除ng-controller以解决问题。

另外:有没有必要有ng-checked,当你已经有ng-model

+0

谢谢,你告诉我删除ng-controller允许我发现我的错误。我在开放

之后立即关闭了
。它的星期五和IDE的intellisense有时可能会有所帮助,但在某些情况下,在这种情况下不适用。再次感谢! – Bish25

+1

很高兴帮助你..,它是开箱即用的.. :) .. – anoop

1

变化:

<input icheck type="checkbox" ng-model="basicIntake.insurance_cover"> 

到:

<input icheck type="checkbox" ng-checked="basicIntake.insurance_cover" ng-model="basicIntake.insurance_cover" ng-click="checkAll()"> 

它会工作。

(米格尔LATTUADA还建议它给你的问题评论)

+0

我已经尝试过,但仍未显示检查,basicIntake.insurance_cover确实更改为true,但是当页面加载时,此值为空。我通过向html添加{{basicIntake.insurance_cover}}进行测试,以查看显示内容。 – Bish25

+0

我编辑了答案,你也应该使用:ng-click =“checkAll()” – Pascut

+0

仅供参考,'>'通过'checked'属性进行检查(如果存在就足够了,没有值需要,例如'checked =“checked”')。 'value'属性用于告诉浏览器在选中该框时发送给服务器的内容。当该框未被选中时,该变量根本不被发送。 – jotaelesalinas