jQuery(“body”)。undelegate不是函数错误

时间:2011-07-18 14:17:58

标签: php jquery ajax yii

我有一个完美的表格。现在,当我添加以下代码时,它会抛出 jQuery(“body”)。undelegate不是函数 错误。

            <?php
            echo CHtml::dropDownList(
                            'country_id',
                            '',
            array('0'=>'Choice One',
                            '1'=>'USA',
                            '2'=>'France',
                        '3'=>'Japan',),
            array(
                      'ajax'=>array(
                          'type'=>'POST',
                          'url'=>Yii::app()->createUrl('users/aTest'),
                          'success'=>'function(data){alert(data)}',
            )));
            ?>

在UsersController中,我有以下操作(它也包含在accessRules中)

    public function actionATest()
    {
        echo "this is a test";
    }

当我展开错误时,会突出显示特定的代码行(第二行)

jQuery(function($) {
    $(".errorDisplay").animate({opacity: 1.0}, 3000).fadeOut("slow");
   jQuery('body').undelegate('#country_id','change').delegate('#country_id','change',function(){jQuery.ajax({'type':'POST','url':'/index.php/users/unaPrueba','success':function(data){alert(data)},'cache':false,'data':jQuery(this).parents("form").serialize()});return false;}); 

任何想法???有人有这个问题吗?无法在任何地方找到它!

1 个答案:

答案 0 :(得分:1)

检查您的jQuery包含是否存在冲突。如果您使用自己的标记添加jQuery,Yii可能仍会自动添加您不期望的另一个jQuery文件,作为其内置资源(see this question)的一部分。你可以禁用Yii的jQuery:

'components'=>array(
    'clientScript'=>array(
         'scriptMap'=>array(
              'jquery.js'=>false,
         ),
    ),
)