2014-05-23 18 views
0

我實現了一個NG-grid..but編輯功能不能正常工作......它以這樣的方式設計的一列的inupt類型是數字即編輯在NG-電網不工作的數字類型

$scope.cellInputNumericTemplate = '<input type="number" ng-input="COL_FIELD" ng- 
model="COL_FIELD" ng-class="\'colt\' + col.index">'; 

if(childtemp.fieldType=='Long' || childtemp.fieldType=='Double') { 

    $scope.templateColumnDefs.push({field:childtemp.name, enableCellEdit:true, 
      editableCellTemplate:$scope.cellInputNumericTemplate}); 
} 


$scope.gridOptions = { 

     enableCellSelection: true, 
    enableCellEdit: true, 
     columnDefs: 'templateColumnDefs' 
     //some other features as well included 
} 

現在我有其他類型的字符串,日期..等等列,他們工作得很好,但在這種情況下雙和長期我能夠輸入值的第一次,但如果我嘗試修改值它不允許我這樣做..我編輯不是隻爲那個柱子工作...

可以有人plz幫助..

+1

您使用的瀏覽器是?輸入類型「數字」在Firefox版本28+之前不起作用(如果它在那裏發貨)。如果這不是問題,你可以創建一個Plunker嗎?您可以從文檔中的ng-grid Plunker開始。 – lmyers

+0

你是絕對正確的..我正在使用Firefox ...現在我檢查了鉻,它工作正常...我有任何方式,我可以使它在Firefox中工作,以及沒有版本更新? @lmyers – Ezhil

+0

添加了我的想法作爲答案。你能否接受答案,因爲它解決了你最初的問題? – lmyers

回答

1

輸入類型「number」在Firefox版本28+之前不起作用(如果它在那裏發貨)。

您可以將該字段設置爲文本字段,併爲其添加一個控制器以監視該模型。如果新值不是數字,則不要通過將模型值設回舊值來允許它。把它放在ng-grid中會增加一點複雜性,但如果你持久,它可能是可行的。

$scope.$watch('model', function(newValue,oldValue) { 
    if (!newValue) 
    return; 
    var arr = String(newValue).split(""); 
    if (arr.length === 0) 
    return; 
    if (isNaN(newValue)){ 
     $scope.model = oldValue; 
    } 
}); 
+0

感謝您的幫助.. .i在jquery.js之前包含了角度js文件並解決了我的問題 – Ezhil

1

我不知道你是否想說數字不能用上/下按鈕改變。

在這種情況下,你還需要一步參數添加到您的輸入,採用較低的速度比默認的更改1.

<input type="number" step="0.01">... 

看這個Plunker

那你想要什麼?

另一種方式來增加而沒有使用浮點步驟將是:

step="any" 

剛玩的plunker。

+0

其實我可以在第一次增加它,但如果我想改變已經輸入的值,我不能這樣做...發現這是一個瀏覽器問題..感謝您的幫助 – Ezhil