我想在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);
});
}
}
答案 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);
}