gpt4 book ai didi

javascript - 在mailto中使用ng-repeat? (通过JSON属性将邮件发送给多个收件人)

转载 作者:行者123 更新时间:2023-12-03 06:33:01 27 4
gpt4 key购买 nike

我目前正在开发使用 Angular、PHP 和 mySQL 来跟踪用户条目的表单。我已经在这支笔中将 SQL 转换为常规 JSON http://codepen.io/StuffieStephie/full/BzmxXd/所以你可以看到我正在尝试做什么。

当我点击Email All {{selected.field}} Volunteers时按钮,我想要一个以逗号分隔的所有与过滤器匹配的电子邮件列表。

我可以使用获取列表

<b ng-repeat="d in names | filter:filters">{{d.email}}{{$last ? '' : ', '}}</b>

但是我如何向这些人发送电子邮件?我想使用ng-href这里是错误的。如果能指出正确的方向,我们将不胜感激!

编辑:好的,我想出了如何通过将邮件链接设置为列表模式的文本内容来做到这一点。但这看起来真的很奇怪

<a ng-href="mailto:{{emails}}" target="_blank" class="waves-effect waves-light btn margin-bottom-1em"><i class="material-icons left">email</i>Email All {{selected.field}} Volunteers ({{(names | filter:filters).length}})</a>

  $scope.hasChanged = function() {
$scope.filters = $scope.selected.field;
$scope.emails = $( "b.theEmails" ).text();
return $scope.emails;
}

此外,我必须更改下拉过滤器才能运行 hasChanged()函数的值是 $scope.emails将被分配。 (我试图给它一个函数之外的值,但它似乎不起作用。有什么帮助吗?

最佳答案

明白了! Angular 是如此奇特,有时我忘记了原生 JS 的存在:P 这可能会更有效,但它确实有效!看哪! http://codepen.io/StuffieStephie/full/QEaGPY/

// Lil function to check if empty
function isEmpty(obj) {
if (obj) {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
return false;
}
}
}
return true;
}


$scope.getEmails = function(){
var statusFilter = $scope.filters;
var res = [];
for (var i=0;i<$scope.names.length;i++) {
var thisVolunteer = $scope.names[i];
var email = thisVolunteer["email"];
if (isEmpty(statusFilter) == false){ //If there's a filter, status must match
if ( thisVolunteer.status == statusFilter) {
res.push(email);
} //END IF Matching Status
}//END IF filter

// OTHERWISE (no filter) Add/push all emails into res array
else {res.push(email); } //END ELSE add all
} //END FOR
$scope.list = res.join(", "); //Join the emails as a comma separated list
}; //END GetEmails();

在 HTML 中初始化

<a ng-init="getEmails()" ng-href="mailto:{{list}}" target="_blank">
Email All {{selected.field}} Volunteers ({{(names | filter:filters).length}})</a>

如果选择下拉列表发生更改,请再次运行该函数

  $scope.hasChanged = function() {
$scope.filters = $scope.selected.field;
$scope.getEmails();
}

现在感到非常自豪:D

关于javascript - 在mailto中使用ng-repeat? (通过JSON属性将邮件发送给多个收件人),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38361037/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com