获取复选框值并将其添加到文本输入

时间:2014-08-09 15:03:45

标签: javascript php jquery

我有一个文本输入,用于保存电子邮件地址,每个地址都由,分隔,表示php的断点。

<input type="text" name="to" class="form-control">

我没有每次都重新键入每个电子邮件地址,而是提出了一个表格,其中包含我所有的电子邮件地址,并允许我选择要发送电子邮件的地址。

<table class="table">
<thead>
    <tr>
        <th>
            &nbsp;
        </th>
        <th>
            Client
        </th>
        <th>
            Email
        </th>
    </tr>
</thead>

<tbody>
    <?php foreach($clients as $client): ?>
    <tr>
        <td>
            <input id="toList" name="to" type="checkbox">
        </td>
        <td>
            <?php echo $client->name.' '.$client->last_name; ?>
        </td>
        <td>
            <?php echo $client->email; ?>
        </td>
    </tr>
    <?php endforeach; ?>
</tbody>
</table>

<a href="#" class="btn btn-primary btn-sm add">Add To Email</a>

现在,我只需要弄清楚一种方法,使用javascript,当点击add按钮时,javascript会将所有选中的复选框的所有值添加到to输入字段,将每一个除以,

2 个答案:

答案 0 :(得分:0)

您好我为您创建了一个jsfiddle ..

代码: -

$(document).ready(function() {
    $("#btn").click(function() {
        var checkedEmails = $("input[name=to]:checked").closest("tr");

        var data = [];
        $.each(checkedEmails, function() {
            data.push($.trim($(this).find("td:eq(2)").text()));

        });
        var str = data.join(",");
        $("#txt").val(str);
    });

});

工作示例: -

http://jsfiddle.net/XUjAH/1102/

谢谢

答案 1 :(得分:0)

将您的复选框更改为

<input id="toList<?php echo $counter; ?>" class="email-check-box" name="to" type="checkbox" value="<?php echo $client->email;?>">

Javascript部分

$(".add").on("click", function() {
   $('.email-check-box').each(function () {
       var current= (this.checked ? $(this).val() : "");
       if(current) {
           $(".form-control").val(
               $(".form-control").val() + current+ ","
           );
       }
   });
});