也許有人可以幫我解決一些小問題。我在網絡編程領域非常新,但我有編程經驗。 我想開發一個使用angularjs和ui-grid的小型網站。不幸的是,過濾不能從外部輸入字段中工作。Angularjs ui-grid從文本輸入框中過濾
有人請告訴我我的編程錯誤是在哪裏嗎?
的代碼可以在這裏找到:http://plnkr.co/edit/fiA666OzpBqpTrCiuXER?p=preview
var myDummyData = [{name: "Moroni", age: 50},
{name: "Tiancum", age: 43},
{name: "Jacob", age: 27},
{name: "Nephi", age: 29},
{name: "Enos", age: 34}];
var myDummyData2 = [{name: "aTest", age: 50},
{name: "bTest1", age: 43},
{name: "cTest2", age: 27},
{name: "dTest3", age: 29},
{name: "eTest4", age: 34}];
$scope.filterOptions = {
filterText: ''
};
$scope.gridOpts = {
data: myDummyData,
enableFiltering: true,
columnDefs: [
{name: 'Name', field: 'name', enableFiltering: true
, filter: {
term: $scope.filterOptions.filterText //DOES NOT WORK... BUT WHY
}
},
{name: 'Price', field: 'age'}
]
};
$scope.updateData = function(newValue){
//console.log($scope.gridOpts.data);
console.log($scope.gridOpts.columnDefs[0].filter);
$scope.gridOpts.columnDefs[0].filter = {term: newValue};
console.log("Scope nameid set " + $scope.gridOpts.columnDefs[0].filter.term); //is set but no update
//$scope.$apply(); //not possible gives error! WHY??
//$scope.gridOpts.data = myDummyData; //for testing works
};
$scope.swapData = function() {
if ($scope.gridOpts.data === myDummyData) {
$scope.gridOpts.data = myDummyData2;
}
else {
$scope.gridOpts.data = myDummyData;
}
};
//DOES NOT WORK BUT WHY
// $scope.$watch('filterOptions.filterText', function (newValue, oldValue) {
// if ($scope.filterOptions.filterText) {
// $scope.filteringText = newValue;
// $scope.updateData(newValue);
// }
// });
的想法是有一個包含搜索欄導航欄。稍後我想根據更多列上的距離滑輪進行過濾。然而,即使我的例子中沒有標準的字符串過濾。
問題:
- 有人能告訴我在哪裏,我現在的問題是什麼?更具體地說:爲什麼從外部輸入字段的過濾不起作用?
- 另一個問題是如何將範圍滑塊的最小值和最大值綁定到例如我的例子中的年齡列? (直接關係到有問題的結合問題(1))
我環顧四周的答案,但無論這是直接綁定的問題,我不能把握的,只有編程JS問題,或ngGrid更新以ui網格的問題。
感謝很多提前
我發現這顯然是一個用戶界面問題。或者我對它的解釋。 – cojack20 2014-10-08 08:33:29