-2

我想获取用户选择的复选框数组,例如,如果用户选择 product1 并且在 product1 中,电子邮件是 a@acom 这样的,如果用户选择了许多复选框,我想要他针对产品选择的数组中的所有电子邮件数据。数据将代表 id,我被困在这里,努力解决该问题 2 天但没有成功:

      <?php v_start($this);?>
    <style>
    .highlight{ font-wieght:bold;   color:#F00;}
    .amounts{}
    .tick{ float:left; margin-top:-5px;}    
    .highlight .amount{ display : inline;}
    .tick img{  display:none;   width   : 25px; height  : 25px; margin-right: 10px; float   : left;}
    .highlight .tick img{   display : block;}
    </style>


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

        jQuery('.amounts').click(function (){
            var pname = jQuery(this).attr('product_name');
            if(!jQuery(this).hasClass('highlight')){
                jQuery('.amount-'+pname).removeClass('highlight');
                jQuery(this).addClass('highlight');
            }
            else {
                jQuery(this).removeClass('highlight');
                }           
        });

    });
    </script>
    <h1><?php echo __l('Step 1 ')?>-> <span style="color:red"><?php echo __l('Step 2')?></span></h1>

    <?php echo $this->FormManager->create('User',array_merge($form_options,array('default'=>true)));?>

        <table>
            <thead>
                <tr cellpadding="0" cellspacing="0" width="100%" >
                    <?php    foreach($name as $product) { foreach ($product as $key) { 
         for($i=0;$i<sizeof($key['ProductPlan']);$i++) {
                        ?>
                    <th>
                        <?php echo $key['Product']['name']?>
                        <?php echo $this->FormManager->input($key['Product']['name'],array('type'=>'hidden','id'=>$key['Product']['name'],'class'=>'hid'))?> 
                    </th>
                    <?php  }}?>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <?php 
                        foreach($name as $product) {
                            $c = 0;
                    ?>

                        <?php 
                            foreach ($product as $key) {
                                $c++;
                        ?>
                            <td>
                          <?                                                                                                        for($i=0;$i<sizeof($key['ProductPlan']);$i++)    { ?>
                                <div 
                                     class   = 'packages'
                                     id      = "<?php echo $key['Product']['name'],$key['ProductPlan'][$i]['product_plan_id']?>" 
                                     onclick = "document.getElementById('<?php echo $key['Product']['name']?>').value='<?php echo $key['ProductPlan'][$i]['product_plan_id']?>';"
                                >

                                    <div product_name='<?php echo $key['Product']['slug']?>' class='amounts amount-<?php echo $key['Product']['slug']?>'>
                                        <div class='tick'>
                                            <?php echo $this->Html->image('tick.png', array('width'=>'25', 'height'=>'25'));?>
                                        </div>

                                        <div class='amount'>
                                            <?php echo $key['ProductPlan'][$i]['name'];?> 
                                            </br></br>
                                        </div>
                                        <div>Create Up To:<?php echo $key['ProductPlan'][$i]['limit'];?></div></br>
                                        <div>Product Plan Amount:<?php echo $key['ProductPlan'][$i]['product_plan_amount'];?>.$</div></br>
                                    </div>
                                </div>
                                <?php }?>

                        <?php } ?>
                    <?php } ?>


                            </td>
                </tr>
<tr>        
</tr>
            </tbody>
        </table>    
4

2 回答 2

0

如果您可以提供 HTML 输出而不是 PHP 源,它将更容易为您提供帮助。

如果您想定位所有选中的复选框,也许还有它们的相关电子邮件输入字段,您可以使用如下内容:

var email_arr = new Array();
$('input:checkbox:checked').each(function() { //goes through each checked input box
    email_arr.push($(this).siblings("input.email").val()); //Gets the value of an email input field
});

重要的是如何放置电子邮件输入字段。如果它与复选框不在同一个元素中,您可能需要使用 .parent 或 .parents 遍历一个或两个节点。

希望有帮助,

//翻筋斗

于 2013-02-16T11:52:48.913 回答
0

我不确定我是否理解您的要求,这个解决方案有帮助吗?

http://jsfiddle.net/rG6bF/1/

$(":checkbox").click(function(e) {
    $.each($(":checked"),function(idx,chkbox) {
        log($(chkbox).attr('id'));
    });
});
于 2013-02-16T12:00:32.507 回答