2017-04-07 54 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