0

プロジェクトの編集ボタンをクリックすると、モーダル非表示フェードにプロジェクトの詳細が表示されます。そして、変更された日付の値を item.date.sDate に復元したいのですが、うまくいきません。

 <div class="modal hide fade" id="editdetails">
  <div class="modal-header"><h3>Update Project Information</h3></div>
  <div class="modal-body">
  <label>Project: </label>
    <input type="text" value= {{item.data.project}} class="span3" id="appendedDropdownButton" ng-model="item.data.project"><br>
  <label>Start Date: </label>
    <input type="text" value= {{item.data.sDate}} class="span3" id="datepicker1" ng-model="item.data.sDate"><br>
  <label>End Date: </label>
    <input type="text" value= {{item.data.eDate}} class="span3" id="datepicker2" ng-model="item.data.eDate"><br>
   </div>
    <br>
    <div class="modal-footer">
        <a href="#" class="btn close_btn" data-dismiss="modal">Close</a>
        <a href="#" class="btn btn-primary save_btn" ng-click="update(item.id)">Save Changes</a>
    </div>
  </div>

日付ピッカーに関する Javascript は、日付をテキストに変更します。

  $( "#datepicker1" ).datepicker({
               inline: true,
               dateFormat: 'dd/mm/yy',
               onSelect: function(dateText) {
                   $("#datepicker2").datepicker("option","minDate", dateText)
                   var modelPath = $(this).attr('ng-model');
                   putObject(modelPath, $scope, dateText);
                   $scope.$apply();
                }
});

$( "#datepicker2" ).datepicker({
               inline: true,
               dateFormat: 'dd/mm/yy',

               onSelect: function(dateText) {
                   $("#datepicker1").datepicker("option","maxDate", dateText)
                   var modelPath = $(this).attr('ng-model');
                   putObject(modelPath, $scope, dateText);
                   $scope.$apply();
               }
});
4

1 に答える 1

0

ディレクティブを使用して日付ピッカーを設定する必要があります。幸いなことに、Angular-UIはあなたのためにそれを行いました。

<div ng-controller="MyCtrl">
    <input ng-model="date" ui-date ng-change="dateChanged()"/><br/>
     Selected Date: {{date | date: 'MMM d yyyy'}}
</div>

次に、コントローラーで:

app.controller('MyCtrl', function($scope){ 
    $scope.dateChanged = function (){
        console.log('Date is: ' + $scope.date);
    };
});
于 2013-02-12T19:11:05.553 に答える