【发布时间】:2016-09-03 20:26:15
【问题描述】:
我有两个数组。
第一个是包含字符串的$scope.termini,另一个是包含对象的$scope.reserved。每个对象都有变量vrijemeTermina。我想用$scope.reserved[x].vrijemeTermina过滤$scope.termini。
reserve.controller('resCtrl', function($scope, $http) {
$scope.$watch("pickedDate", function(){
$scope.termini=["13:00","15:00","17:00","19:00","21:00"];
$http.post('php/dropdown.php',{"datum":$scope.pickedDate}).success(function(data){
$scope.reserved = data;
//alert(JSON.stringify(data));
//alert($scope.reserved[0].datumTermina);
angular.forEach($scope.reserved, function(value, key){
$scope.termini = $filter('filter')($scope.termini, value.vrijemeTermina, false);
});
});
console.debug("%o", $scope.termini);
});
});
我尝试了很多没有用的东西。大多数答案我通过它的属性找到了过滤对象数组。我还没有找到解决这个问题的方法。
<?php
require_once(dirname(dirname(__FILE__))."/php/db-conn.php");
$data = json_decode(file_get_contents("php://input"));
$query = "SELECT * from termin WHERE datumTermina='".$data->datum."'";
$result = mysqli_query($con, $query);
$arr = array();
if(mysqli_num_rows($result) != 0) {
while($row = mysqli_fetch_assoc($result)) {
$arr[] = $row;
}
}
$con->close();
echo json_encode($arr);
?>
那是我的 php 文件。它返回的 json 看起来像 {0:{"id":"1";"vrijemeTermina":"13:00";"datumTermina":"03/09/2016"}} 我猜。
【问题讨论】:
-
您需要将
$filter服务注入您的控制器,如果您只使用过滤器,那么也许使用filterFilter服务 -
@papakia 嘿伙计,感谢您的回答,解决了控制台给我的错误之一,但没有解决问题
-
控制台中出现的其他错误是什么?
-
你能发布你的 JSON 吗?
-
我将我的 php 文件添加到问题 @papakia
标签: javascript angularjs json angularjs-filter