带有两个URL的Yii ajax复选框

带有两个URL的Yii ajax复选框,ajax,url,checkbox,yii,Ajax,Url,Checkbox,Yii,我在Yii中有一个复选框,我在其中使用了ajax。我想做的是在选中复选框时使用一个“url”参数,在未选中复选框时使用另一个不同的参数 例如,选中时: 'url'=> CController::createUrl('/item/add'), 不检查时 'url'=> CController::createUrl('/item/remove'), 最好的方法是什么?当然,我不想从控制器中检查视图复选框的状态 谢谢我知道我会做jQuery,比如: var url = ''; if

我在Yii中有一个复选框,我在其中使用了ajax。我想做的是在选中复选框时使用一个“url”参数,在未选中复选框时使用另一个不同的参数

例如,选中时:

'url'=> CController::createUrl('/item/add'),
不检查时

'url'=> CController::createUrl('/item/remove'),
最好的方法是什么?当然,我不想从控制器中检查视图复选框的状态


谢谢

我知道我会做jQuery,比如:

 var url = '';
 if($('#chbInput').val() == 1)
 { 
      //do something when checked
      url = '<?php echo CController::createUrl('/item/add') ?>';
      ...
 }
 else
 {
      url = '<?php CController::createUrl('/item/remove') ?>';
      ...
 }
var url='';
if($('#chbInput').val()==1)
{ 
//检查后做某事
url='';
...
}
其他的
{
url='';
...
}

我知道我会做jQuery,比如:

 var url = '';
 if($('#chbInput').val() == 1)
 { 
      //do something when checked
      url = '<?php echo CController::createUrl('/item/add') ?>';
      ...
 }
 else
 {
      url = '<?php CController::createUrl('/item/remove') ?>';
      ...
 }
var url='';
if($('#chbInput').val()==1)
{ 
//检查后做某事
url='';
...
}
其他的
{
url='';
...
}
解决方法如下:

<input type="checkbox" id="chk">
<?php 
        $url1 = $this->createUrl('/item/add');
        $url2 = $this->createUrl('/item/remove');
        $js = '
        $(\'#chk\').change(function(){
            $.post(this.checked ? "'.$url1.'" : "'.$url2.'", function(data) {
                $("#items").html(data);
            });
        });
        ';
        Yii::app()->clientScript->registerScript('chk', $js);
?>

解决方法如下:

<input type="checkbox" id="chk">
<?php 
        $url1 = $this->createUrl('/item/add');
        $url2 = $this->createUrl('/item/remove');
        $js = '
        $(\'#chk\').change(function(){
            $.post(this.checked ? "'.$url1.'" : "'.$url2.'", function(data) {
                $("#items").html(data);
            });
        });
        ';
        Yii::app()->clientScript->registerScript('chk', $js);
?>


为什么不编写一个jQuery侦听器并根据是否选中复选框来更改URL?但我只想更改ajax调用的“URL”参数。可能吗?我想更改按钮组的复选框,这样每个按钮都有自己的ajax调用,以及自己的“url”参数。为什么不编写一个jQuery侦听器,并根据是否选中复选框来更改url?但我只想更改ajax调用的“url”参数。可能吗?我曾想更改按钮组的复选框,因此每个按钮都有自己的ajax调用,以及自己的“url”参数。但是在Yii中,ajax声明是一个php数组,我不知道如何在jQuery中管理它。我拥有的是类似于“ajax”=>array('url'=>cControl::createUrl('/item/remove'),'type'=>'POST',success=>'js:function()....'}。在声明该数组之前,放置一个if语句来检查该条件。但是在Yii中,ajax声明是一个php数组,我不知道如何在jQuery中管理它。我拥有的是类似于“ajax”=>array('url'=>CController::createUrl('/item/remove'),'type'=>'POST',success=>js function()的东西..'}。在声明该数组之前,放置一个if语句来检查该条件。