1

我有选择框所在的表单并选择所有选项,我想发布所有数据而不单击复选框,我不想查看此页面,这意味着如果用户转到注册页面,默认情况下数据将已经选择如何我可以在没有任何意见的情况下这样做吗?这是我的视图代码

   <?php v_start($this);?>

<?php
    #if(element exits of controller-action)
    echo $this->element('validations/users/signup');    
?>

<script>
    function toggleChecked(status)
        {   
        jQuery(".new-checkbox input").each( function() {
                jQuery(this).attr("checked",status);
                }
            )
        }
</script>
<h1><span style="color:CornflowerBlue"><?php echo __l('Step1');?></span></h1>

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

<table width = "100%">
    <tbody>
        <tr>
            <td>
                <?php echo $form->input('',array('id'=>'mark-all','onclick'=>'toggleChecked(this.checked)','type'=>'checkbox','label'=>'Select All Products' ));?>

                <?php echo $form->input('product_id', 
                                array(
                                    'multiple'=>'checkbox',
                                    'options'=>$products,
                                    'div'=>false,
                                    'class'=>'new-checkbox'
                                )   
                            );
                ?>

            </td>
        </tr>
        <tr>
        <td>
            <?php 
echo $this->FormManager->end(LBL_BTN_NEXT);
?>

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

我不想要这个页面,用户会默认选择数据。这是我的控制器代码

        $products   =   $this
                    ->User
                    ->ProductsUser
                    ->Product
                    ->find('list',array(
                                'fields'    =>  'product_id,name',
                                    'conditions'=>array(
                                                'Product.is_visible'=>true
                                                )                       
                                        )
                            );
    $this->set('products',$products);
    if($this->request->is('post'))
        {   
            $this->Session->write('signUp.signUpProduct',$this->request->data['User']);
            $this->redirect(array('action'=>'signup_product'));
        }       
}

我该怎么做,提前谢谢。

4

1 回答 1

0

attr() 不将 true 或 false 作为参数。

jQuery(this).attr("checked","checked"); // Correct usage of attr()

虽然我认为 attr 对于有利的 prop() 方法已被弃用。

jQuery(this).prop("checked",status);

这确实需要一个真/假的论点。:) 希望这可以帮助。

于 2013-04-11T19:57:46.227 回答