2015-10-06 72 views
1

我是AngularJS的新手。無法在daterangepicker中獲得價值

這裏是我的HTML代碼:

<div class="form-group"> 
        <div class="col-xs-3 control-label"> 
        <b>Campaign Period:</b> 
        </div> 
        <div class="col-xs-9 form-control-static"> 


        <div ng-show="!dateForm.$visible"> 
        <a class="editable-click" ng-click="dateForm.$show()" popover="Click here to Edit." popover-trigger="mouseenter">{{campaignResult.startDate || 'empty' }} - {{campaignResult.endDate || 'Never Expired' }}</a> 
        </div> 

        <form editable-form name="dateForm" onbeforesave="checkDate(daterangepicker.startDate,daterangepicker.endDate,$data)" onaftersave="updateDate($data)"> 
        <div ng-show="dateForm.$visible"> 
         <div class="col-md-12"> 
         <label class="i-checks i-checks-sm"> 
          <input type="checkbox" ng-model="campaignPeriodSetEndDate"><i></i> 
          Set End Date 
         </label> 
         </div> 
         <div class="col-md-9"> 
         <div ng-if="campaignPeriodSetEndDate"> 
          <input class="form-control" ui-jq="daterangepicker" ui-options="{ 
          format: 'YYYY-MM-DD', 
          startDate: campaignResult.startDate, 
          endDate: campaignResult.endDate 
          }" ng-model="dateRange" /> 
         </div> 
         <div ng-if="!campaignPeriodSetEndDate"> 
          <input class="form-control" ui-jq="daterangepicker" ui-options="{ 
          singleDatePicker : true, 
          format: 'YYYY-MM-DD', 
          endDate: campaignResult.startDate 
          }" ng-model="dateRange" /> 
         </div> 
         <ng-date-range bind="modalDates" min="minRangeDate" max="maxRangeDate" limit="limitRangeDate" class="reportrange"></ng-date-range> 
         </div> 

         <div class="m-l"> 
         <button type="submit" class="btn btn-primary btn-sm " ng-click="checkDate(daterangepicker.startDate,daterangepicker.endDate,$data)"> 
          <span class="glyphicon glyphicon-ok"> 
          </span> 
         </button> 
         <button type="button" class="btn btn-default btn-sm" ng-click="dateForm.$cancel()" tabindex="0"> 
          <span class="glyphicon glyphicon-remove"> 
          </span> 
         </button> 
         </div> 
        </div> 
        </form> 

        </div> 
       </div> 

這裏是我的腳本:

$scope.checkDate = (startDate,endDate,data)=> 
     { 
     console.log(startDate); 
     console.log(endDate); 
     console.log(data); 
} 

我只是想獲得startDateendDatedaterangepicker

現在,我可以綁定我startDateendDate,並在UI上初始化它們。

但是,從瀏覽器UI(daterangerpicker)修改後,日期值不會更改。

有什麼問題嗎?

請幫忙!

回答

0

由於ng-if,此指令創建內部作用域,並且在更改日期選擇器中的值時,實際上在子作用域(或作用域 - 如果有多個ng-if)由此創建指示。如果可能,請使用ng-show,否則應該從$父級訪問型號:

<input class="form-control" ui-jq="daterangepicker" ng-model="$parent.dateRange" />