如何在每个循环中逃避Jquery中的重复值?

时间:2016-02-08 04:24:27

标签: jquery

我想在Jquery中使用$ .each时删除所有重复的值。 我的选择将获得一些具有相同值的项目,但我想删除所有值,只保留一个。

$scope.Save = function () {
        $scope.loading = true;

        if ($scope.roleSetupModel.RoleID === "") {
            // Save
            //$scope.loading = true;
            $http.post('/SecurityModule/RoleSetup/AddRole', JSON.stringify($scope.roleSetupModel))
                .success(function (response) {
                    $scope.loading = false;
                    $('#addModal').modal('hide');
                    $scope.BindDataToGrid();
                    alert("Success");
                    toastr.success(response.Message);

                })
                .error(function (response) {
                    $scope.loading = false;
                    alert("Fail");
                    toastr.error(response.Message);

                });

        }
        else {
            $http.post('/SecurityModule/RoleSetup/EditRole',
                    JSON.stringify(convArrToObj($scope.roleSetupModel)))
                .success(function (response) {
                    $('#addModal').modal('hide');
                    $scope.loading = false;
                    toastr.success(response.Message);
                    $scope.BindDataToGrid();
                })
                .error(function (data) {
                    $scope.loading = false;
                    toastr.error(response.Message);
                });

        }
    }

2 个答案:

答案 0 :(得分:3)

使用数组跟踪已添加的项目。

function dropDown(data, selectorId) {
    var journal_idArray = [];
    var selector = '<select  style="width: 400px;" id="results">';
    if (data == '') {
        selector += '<option value="0">No Reference</option>';
    } else {
        selector += '<option value="0">Choose a reference</option>';
        $.each(data, function (i, val) {
            if( journal_idArray.indexOf(val.journal_id) == -1 ){
                selector += '<option value=' + val.journal_id + '>' + val.reference + '</option>';
                journal_idArray.push(val.journal_id);
            }
        });
    }
    selector += '</select>';
    $(selector).appendTo(selectorId);
}

答案 1 :(得分:1)

只有在尚未添加时才添加。

function dropDown(data, selectorId) {

    var selector = '<select  style="width: 400px;" id="results">';
    if (data == '') {
        selector += '<option value="0">No Reference</option>';
    } else {
        selector += '<option value="0">Choose a reference</option>';
        $.each(data, function (i, val) {
            if (selector.indexOf('<option value=' + val.journal_id + '>') == -1){
                selector += '<option value=' + val.journal_id + '>' + val.reference + '</option>';
            }
        });
    }
    selector += '</select>';
    $(selector).appendTo(selectorId);
}