2

我在模態窗口內必須有一個網格(必須在那裏,因爲我的客戶真的希望這樣),當模態打開第一個時間可以選擇網格中的行,所選項目顯示在父窗口的div中,一切似乎都很好,但是當模式窗口關閉並再次打開時,ng網格中的行將被凍結,我不能取消選擇舊的行或選擇新的行。這個想法是,他可以通過選擇或取消選擇ng網格中的行來添加或刪除細節,但它只會添加,並且只是第一次打開模式窗口。模態窗口中的ng-grid只是在模態打開時的第一個時間

$scope.catalogOptions = { 
     data: 'catalog', 
     selectedItems: $scope.selectedDetails, 
     columnDefs: [ 
      { field: "Num", displayName: 'NUM', width:"10%"}, 
      { field: "Type", displayName: 'TYPE', width:"90%"}], 
     multiSelect: true, 
     afterSelectionChange: function(item, event){ 
      if($scope.selectedDetails.length!=0){ 
       $scope.sdetails=$scope.selectedDetails; 
      } 
     } 
    }; 
    $scope.sdetails=null; 

這是在我的控制我的NG-電網的定義,我也必須說,與NG網模態窗口正在從另一個模態窗口叫(我的客戶要求的是),基本結構是「主頁>添加記錄模式>添加詳細模態「,即時通訊使用這個插件http://jschr.github.io/bootstrap-modal/bs3.html和調用按鈕與數據切換和模式

即時嘗試做甚至posible? =(

+0

這很難不實際的例子來回答,請與的jsfiddle或plnkr例如提供。 –

+0

對不起IM很新的web開發,我的英文不是很好沒有找到我需要充分展現我的問題插件在plnkr中,但我決定從jschr中刪除引導程序插件,並選擇爲角度做的一切,現在一切都看起來很好,爲你的時間,看起來像模式窗口解綁模型 – user2719661

回答

0

您是否檢查afterSelectionChange方法被調用的次數?如果您第二次選擇一個行,該回調將被調用兩次,一次用於先前選擇的行,一次用於新選擇的行。

afterSelectionChange: function(item, event){ 
     if(item.selected) { //<-- only execute the below for the selected row 
      if($scope.selectedDetails.length!=0){ 
       $scope.sdetails=$scope.selectedDetails; 
      } 
     } 
    } 
+0

我需要這個工作在這兩種情況下,我的代碼工作就像第一次打開模式窗口。經過更多的檢查之後,我的模式窗口內的日期選擇器也在第一次打開模式時工作,所以我改變了我的看法,因爲它看起來有些東西在解綁模型。在使用了boostrap.ui模式後,我的datepickers在每次打開模式時都開始工作,而不是爲ng-grid打開另一個模式,我只是將它放在第一個模式內的某個地方,作爲客戶選擇的清單細節。 – user2719661

相關問題