-2

ユーザーが選択したチェックボックスの配列を取得したい. データは 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

あなたが何を求めているのか理解できませんが、この解決策は役に立ちますか?

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

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

PHP ソースの代わりに HTML 出力を提供できれば、支援が容易になります。

チェックされているすべてのチェックボックスと、おそらくそれらの関連する電子メール入力フィールドをターゲットにしたい場合は、次のようなものを使用できます。

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 を使用して 1 つまたは 2 つのノードをトラバースする必要がある場合があります。

それが役立つことを願って、

//宙返り

于 2013-02-16T11:52:48.913 に答える