使用ajax无法正常工作的dropdownlist onchange

时间:2014-03-07 08:56:31

标签: jquery ajax yii dropdownlistfor

我有一个下拉列表

MODELA

 <?php echo $form->labelEx($model,'type'); ?>
    <?php echo $form->dropDownList($model,'type',array('empty'=>'choose refertype','1'=>'typeA','2'=>'typeB','3'=>'typeC')); ?>
    <?php echo $form->error($model,'type'); ?>

以下是我的ajax代码它必须做的是当我选择typeA或任何其他类型时它必须从db中获取数据(取决于modelB的数据类型必须获取来自modelB的db)并显示在#showdata div中

时无法正常工作
$('#modelname_type').change(function(){

    if($('#modelname_type').val() == '1'){
        $('#showdata').show();
        $.ajax(
            'url':'Yii::app()->createUrl('controllerB/actionB')',
            'type':'get',
            'data':array('id'=>$_GET['id']),
            'success': function(res){       
                $("#showdata").html(res);
            }       
        );          
        $('#codea').hide();     
    }   
});

仅适用于

$('#modelname_type').change(function(){

    if($('#modelname_type').val() == '1'){
        $('#showdata').show();          
        $('#codea').hide();     
    }
});

请让我知道我哪里出错了,我真的被困在过去的一周,并没有那么强大的ajax

3 个答案:

答案 0 :(得分:0)

在jQuery中正确使用ajax调用是:

$.ajax(
    'url': 'your_script.php',
    'type': 'get',
    'data': array,
    'success': function (res) {
         $("#showdata").html(res);
    }
});

其中array是一个javascript数组。

您的代码不起作用,因为网址和数据不正确。 Javascript不会执行PHP代码。

以下是您可能会觉得有用的教程:

答案 1 :(得分:0)

对于从属下拉列表 您可以根据国家/地区,在其他下拉列表中填充的具体状态检查此Link包含..

https://stackoverflow.com/a/22169219/3012139

答案 2 :(得分:0)

这里

 if($('#modelname_type').val() == '1'){

更改为

  var mtype =$('#modelname_type').val();
    if(mtype == '1'){ 

在AJAX中

url:'<?php echo Yii::app()->request->baseUrl;?>/index.php/controllerB/actionB/id/"+str';

会像魅力一样工作