内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list($forumlist, $model = 0, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $model . '-' . $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 不分模型 * @param int $display 0全部CMS栏目 1在首页和频道显示内容的栏目 * @param int $category 0列表 1频道 2单页 3外链 * @return array */ function category_list_show($forumlist, $display = 0, $category = 0) { if (empty($forumlist)) return NULL; static $cache = array(); $key = $display . '-' . $category; if (isset($cache[$key])) return $cache[$key]; if ($display) { foreach ($forumlist as $k => $val) { if (1 == $val['display'] && 1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } else { foreach ($forumlist as $k => $val) { if (1 == $val['type'] && $val['category'] == $category) { $cache[$key][$k] = $val; } } } return empty($cache[$key]) ? NULL : $cache[$key]; } /** * @param $forumlist 所有版块列表 * @return mixed BBS栏目数据(仅列表) 尚未开放bbs频道功能 */ function forum_list($forumlist) { if (empty($forumlist)) return array(); static $cache = array(); if (isset($cache['bbs_forum_list'])) return $cache['bbs_forum_list']; $cache['bbs_forum_list'] = array(); foreach ($forumlist as $_fid => $_forum) { if ($_forum['type']) continue; $cache['bbs_forum_list'][$_fid] = $_forum; } return $cache['bbs_forum_list']; } // 导航显示的版块 function nav_list($forumlist) { if (empty($forumlist)) return NULL; static $cache = array(); if (isset($cache['nav_list'])) return $cache['nav_list']; foreach ($forumlist as $fid => $forum) { if (0 == $forum['nav_display']) { unset($forumlist[$fid]); } } return $cache['nav_list'] = $forumlist; } ?>javascript - how to remove specific row from list in angularjs - Stack Overflow
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - how to remove specific row from list in angularjs - Stack Overflow

programmeradmin0浏览0评论

Altough searched everywhere, could not find a solution I have a problem with deleting the CORRECT row from the list.

For example I have below array:

$scope.rows = [{
        "ID": 12,
        "customer": "abc",
        "image": "abc.jpg",
},{
        "ID": 13,
        "customer": "klm",
        "image": "klm.jpg",
},{
        "ID": 14,
        "customer": "xyz",
        "image": "xyz.jpg",
}];     

Trying to delete the row where ID = 13 (ID will be received from node server) with the code as follow:

        Socket.on('delete', function( ID ) {

            var a = $scope.rows.indexOf(ID);
            $scope.rows.splice(a, 1)

        });

But this removes not the correct row.

How can I specify my parameter to delete the right row like:

remove rows("ID" = ID)

Altough searched everywhere, could not find a solution I have a problem with deleting the CORRECT row from the list.

For example I have below array:

$scope.rows = [{
        "ID": 12,
        "customer": "abc",
        "image": "abc.jpg",
},{
        "ID": 13,
        "customer": "klm",
        "image": "klm.jpg",
},{
        "ID": 14,
        "customer": "xyz",
        "image": "xyz.jpg",
}];     

Trying to delete the row where ID = 13 (ID will be received from node server) with the code as follow:

        Socket.on('delete', function( ID ) {

            var a = $scope.rows.indexOf(ID);
            $scope.rows.splice(a, 1)

        });

But this removes not the correct row.

How can I specify my parameter to delete the right row like:

remove rows("ID" = ID)
Share Improve this question asked Feb 19, 2014 at 9:13 ng-Userng-User 2432 gold badges6 silver badges21 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 4

indexOf search substring in an array (and not in a relational array)

Try this:

var whatIndex = null;
angular.forEach($scope.rows, function(cb, index) {
  if (cb.ID === ID) {
     whatIndex = index;
  }
});

$scope.rows.splice(whatIndex, 1);

Remove an current selected item:

<a href="#" ng-click="remove($index)">Remove an item</a>                     //this one is dynamically generated link using ng-repeat

 $scope.remove = function (item) {
        $scope.retrieveddata.splice(item, 1);
    }

You can remove the current item using it's index.($scope .retreiveddata is my array list )

pass id in this function

$scope.deleteCurrentId = function (ID) {
    for (var i = 0; i <= $scope.row.length; i++) {
        if ($scope.row[i].id == ID) {
            $scope.row.splice(i, 1);
        }
    }
};

or

$scope.deleteCurrentId = function (ID) {
    angular.forEach($scope.row, function (cb, index) {
        if (cb.id == ID) {
            $scope.row.splice(index, 1);
        }
    });
};
发布评论

评论列表(0)

  1. 暂无评论