我有一个网页上的记录列表(比如说html表格)。使用循环使用jQuery打开Outlook新电子邮件窗口
<table>
<tr>
<th>checkbox</th>
<th>id</th>
<th>name</th>
</tr>
<tr>
<td><input type="checkbox" name="email[]">1</td>
<td>1</td>
<td>Germany</td>
</tr>
<tr><td><input type="checkbox" name="email[]">2</td>
<td>2</td>
<td>Mexico</td>
</tr>
<tr>
<td><input type="checkbox" name="email[]">3</td>
<td>3</td>
<td>Austria</td>
</tr>
<tr>
<td><input type="checkbox" name="email[]">4</td>
<td>4</td>
<td>UK</td></tr>
</table>
现在,当我选择不同/所有复选框并单击按钮。
它应该为每条记录分别打开新的Outlook窗口。 如果我选择所有4个复选框,那么它应该打开4个不同的新电子邮件窗口。 我已经在这里提到了很多问题。但无法弄清楚。
最大的问题是我可以运行循环。但每次它都无法打开不同的窗口。有时它只打开1/2个窗口。我猜是循环和Settimeout的问题。
这里是我的代码:
function sendMails() {
sendMail_table.$('input:checked').each(function (i, value) {
(function (that, m) {
var t = setTimeout(function() {
if (m.checked) {
var rowIndex = sendMail_table.row($(m).closest('tr')).data();
var party_name = rowIndex[6];
var find = $('#party_email_data td').filter(function() {
return $(this).text() === party_name;
});
emails = party_email_data.row(find.closest('tr')).data();
email_add = emails[1];
email_cc = emails[2];
wnd = window.open("mailto:email_id?subject=hello hi&body=dfdsf",
"_blank", "sdf" + i);
}
}, 1500);
})(this, value);
});
}
sendMails();
所以,herecolumn名或变量名是不是得到解决对我很重要。我面临着环路和SETTIMEOUT的问题。所有的窗户都不会按照他们的要求打开。
虽然循环运行的次数应该是这样,但一些如何只有1/2新的电子邮件展望窗口打开。这是错误的。我想这是因为JS循环不等待响应或其他任何事情。
我希望你们都明白我的问题。 让我知道是否有其他要提及或澄清。
我需要这个解决方案。任何帮助赞赏。
谢谢。
这里是样品HTML表格:
您可以发布它在你的问题? –
定义的变量sendMail_table在哪里? –