2015-08-31 99 views
0

我在填充模態窗口形式時遇到了問題。例如,我點擊網格行來編輯用戶,然後我調用ajax來返回用戶的特定數據。填充模態窗口形式

當前代碼:

<modal title="Uredi uporabnika" visible="showModal"> 
     <form role="form"> 
      <div class="form-group"> 
      <label for="user_name">Ime</label> 
      <input type="text" class="form-control" id="user_name" /> 
      </div> 
      <button type="submit" class="btn btn-default">Submit</button> 
     </form> 
</modal> 

控制器:

$scope.openUserEditor = function(selected_user_id){ 
    $http({ 
     method:'POST', 
     url:ajax, 
     dataType: 'json', 
     headers: { 
      'Content-type': 'application/x-www-form-urlencoded;charset=utf-8' 
     }, 
     data:{ 
      action:'loadUserData', 
      id:selected_user_id 
     } 
    }).success(function(data,status){ 
      $scope.userInfo = data.user_info; 
      $scope.showModal = !$scope.showModal; 
    }); 
} 

模態窗口代碼:

app.directive('modal', function(){ 
    return { 
    template: '<div class="modal fade">' + 
     '<div class="modal-dialog">' + 
     '<div class="modal-content">' + 
      '<div class="modal-header">' + 
      '<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>' + 
      '<h4 class="modal-title">{{ title}}</h4>' + 
      '</div>' + 
      '<div class="modal-body" ng-transclude></div>' + 
     '</div>' + 
     '</div>' + 
    '</div>', 
    restrict: 'E', 
    transclude: true, 
    replace:true, 
    scope:true, 
    link: function postLink(scope, element, attrs) { 
    scope.title = attrs.title; 

    scope.$watch(attrs.visible, function(value){ 
     if(value == true) 
     $(element).modal('show'); 
     else 
     $(element).modal('hide'); 
    }); 

    $(element).on('shown.bs.modal', function(){ 
     scope.$apply(function(){ 
     scope.$parent[attrs.visible] = true; 
     }); 
    }); 

    $(element).on('hidden.bs.modal', function(){ 
     scope.$apply(function(){ 
     scope.$parent[attrs.visible] = false; 
     }); 
    }); 
    } 
}; 
}); 

我會apreciate任何幫助,即使我在becouse正確的方式在做我是Angular的新手。

+0

你在哪裏和什麼時候調用openUserEditor函數? – Shivi

+0

在錶行點擊'​​ \t \t \t <按鈕類= 「BTN」 NG單擊= 「openUserEditor(user.id)」> \t \t \t編輯 \t \t \t \t \t \t' – Ales

+0

可以你請檢查你的成功回調中的$ scope對象.. ??有時它被設置爲窗口,而不是控制器範圍。然後,您可以在api調用之外創建一個變量,如var self = this,然後使用this.userInfo。 – Shivi

回答

0

使用輸入ID來填充值:

$("#user_name").val(data.user_info); 
0

好吧,我發現解決數以百萬計的不同改掉後,我一直只是把雙手在我的頭上。因此我不得不添加userInfo對象並調用該參數u_name。

tnx Shivi無論如何都幫忙:D