CakePHP问题:如何从radiobutton获得价值以及如何调用动作?

时间:2011-08-31 04:39:46

标签: php javascript jquery ajax cakephp

<div id="rightsidesix" >

    <?php echo '<div class="class_color_title" ><b>'."Polls".'</b></div>'; ?>

    <?php

        echo '<div id="id_color_polls" >';

            echo '<p><b>Which linux distribution do you like most ?</b></p>'.'<br/>';

            $options=array('F'=>'Fedora','U'=>'Ubuntu','D'=>'Debian','O'=>'openSuse','M'=>'Mandriva','T'=>'Other');

            $attributes=array('legend'=>false);

            echo $this->Form->radio('distributions',$options,$attributes);

            echo $this->Form->button('Check',array('id'=>'id_btnpolls'));

        echo '</div>';

        echo '<br/>';

    ?>

</div>      

我应该在表单中添加这些表单输入/单选按钮吗?

单击按钮后,它将调用jQuery函数。

$("#id_btnpolls").click(function(){



    var valCheckedRadio = $('input[name=data[distributions]]:checked').val()

    alert(valCheckedRadio);



    $.ajax({

        type: "POST",

        url: "<?php Router::url(array('controller'=>'posts','action'=>'polls')); ?>,",

        data: "valCheckedRadio="+valCheckedRadio,

        success: function(prm){

            //alert(prm);

            $("#id_color_polls").html(prm);

        }

    });
})

这是调用控制器动作的正确方法吗?

        url: "<?php Router::url(array('controller'=>'posts','action'=>'polls')); ?>,",

2 个答案:

答案 0 :(得分:1)

$("#id_btnpolls").click(function(){



var valCheckedRadio = $('input[name=data[distributions]]:checked', '#myForm').val()

alert(valCheckedRadio);



$.ajax({

    type: "POST",

    url: "<?php $html->url(array('controller'=>'posts','action'=>'polls')); ?>,",

    data: "valCheckedRadio="+valCheckedRadio,

    success: function(prm){

        //alert(prm);

        $("#id_color_polls").html(prm);

    }

  });
})

答案 1 :(得分:0)

无论你做了什么,看起来对我来说都很好。 你可以使用这样的东西从无线电组中获取一个值。

$('input[name=radioName]:checked', '#myForm').val()

根据你的网址部分,它与cakephp相当完美。