【发布时间】:2019-04-02 03:12:02
【问题描述】:
在我的 angularjs 应用程序中,我从 API 获取 JSON 对象。 我有一个输入字段,可以手动输入ID,如果有这个ID的项目存在,我需要更改他的属性。 我还将这个 ID 存储到 sessionStorage,所以当用户刷新页面时,他会像刷新之前一样获得值。
这是来自 API 的 json,如果存在,我需要将 ON THE FLY 属性 SHOW 更改为 true
$scope.tableParams.data = [
{id: 1015, type: "ssss", show: false},
{id: 1016, type: "ssss", show: false},
{id: 1017, type: "ssss", show: false},
{id: 1018, type: "ssss", show: false}
]
获取输入值并存储到会话存储,以及更改 SHOW 属性的功能
$scope.getIndex = function (indexOfRow) { //indexOfRow is passed data from input field
//here I want to change show to true for passed id
sessionStorage.setItem("indexOfOpenedRow", JSON.stringify(indexOfRow));
}
我尝试从here 回答但不适合我
我也试试这个,但总是得到undefined
function findId(array, id) {
var i, found, obj;
for (i = 0; i < array.length; ++i) {
obj = array[i];
if (obj.id == id) {
console.log(obj);
return obj;
}
}
return undefined; // <= You might consider null or undefined here
}
$scope.getIndex = function (indexOfRow) { //indexOfRow is passed data from input field
//here I want to change show to true for passed id
angular.forEach($scope.tableParams.data, function(key, value){
var result = findId(key.id, indexOfRow);
console.log(result);
});
sessionStorage.setItem("indexOfOpenedRow", JSON.stringify(indexOfRow));
}
【问题讨论】:
-
您的 findId 函数需要一个数组和一个整数作为其参数。
findId(key.id, indexOfRow);这让您看起来像是在向其中传递两个整数。我希望像findId( $scope.tableParams.data, indexOfRow );
标签: javascript angularjs