1

我是 jquery 的新手,想要完成以下工作。
1)单击按钮时生成并显示表单

2)让用户使用该表单上的复选框来指示他们要将电子邮件发送给谁

3)对于对话框中的每个复选框,使用cfmail给该人发送电子邮件(我可以写这部分)

请在下面查看我的代码的开头。

<script>
$(document).ready(function() {

    $("#notifyregs").click(function() {
        var initialDiv = this;
       // HELP - set the checked box values

        var reminderemails = $(this).data("reminderemails");
        var count = 0;

        $("#editForm").dialog({ width: 500, height: 'auto', maxHeight: 1000,
            buttons: {
                "Send Emails": function() {
                    var thisDialog = $(this);
                   // HELP - Loop through reminderemails and send each value to the function sendreminders
                    $.post("tsafunctions.cfc", {
                        method: 'sendreminders',
                    reminderemails: $("#reminderemails").val(), 
                        }, 
                    function() {
                        $("#message").show();
                        $("#message").text('You sent reminders to ' + count + ' athletes');
                        $(thisDialog).dialog("close");
                    });
                }
            }
        });
    });

});
</script>

表格

  <div id="editForm" title="Notify Incomplete Registrations">
  Check who to send emails to:<br />
  <input type="checkbox" name="reminderemails" value="123456" checked="checked" />
  <input type="checkbox" name="reminderemails" value="234567" checked="checked" /></td>
</div>
4

2 回答 2

2

试试这个:

selectedEmails=jQuery('#editForm :checkbox:checked').serialize();

在您的 jQuery.post 中有一个用于传递数据的数据选项:

$.post("tsafunctions.cfc", {data:selectedEmails, ...});
于 2013-01-01T01:16:03.977 回答
1

根据您的代码,您似乎希望为每个选定的复选框向 $.post 函数发出请求。如果您不想解析序列化数据,则需要以下内容:

//--collect the checked input values and store in array
var reArr = [];
$('#editForm input:checked').each(function(){
   /*--
     pushes the value of each checkbox control that 
     is checked within the #editForm Div into and array
   --*/
  reArr.push($(this).val()); 
});

//--loop through the array and make your requests
for(var i=0; i < reArr.length; i++ ){
   /*--
    access each of the array elements using array syntax (e.g. reArr[i])
   --*/
   console.log(reArr[i]) 
   $.post("tsafunctions.cfc", {"reminderemails":reArr[i]} );
 }
 console.log(reArr);
于 2013-01-04T13:57:10.687 回答