我有一個網頁上的記錄列表(比如說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在哪裏? –