2011-03-31 82 views
1

我有codeigniter控制器上传递jquery变量的问题。实际上我想从下拉菜单中检索价值并通过onclick事件发送。我能够将价值传递给jscript,但我无法传递给控制器​​文件。如何在codeigniter的控制器上传递jquery变量?

我的看法文件是:

<select name="cities" id="cities" onChange="change_city();">  
    <option value="Basel">Basel</option> 
    <option value="Bern">Bern</option> 
    <option value="Fribourg">Fribourg</option> 
    <option value="Geneva">Geneva</option> 
    <option value="Lugano">Lugano</option> 
    <option value="Zurich">Zurich</option> 
</select> 

我的JScript是:

function change_city(){ 
    var home_city =$("#cities option:selected").val(); 
    var params = 'city='+home_city; 
    $.ajax({ 
     type: "POST", 
     url: lang+"/webshop/change_city", 
     data: params, 
     success: function(r) { 
     $('#ajax_msg').html(r); 
     location.reload(true); 
     } 
    }); 
} 

和控制器是:

function change_city(){ 
     $city = $_POST['city']; 
     $expire = 9999999999; 

     setcookie("home_city", $city, $expire); 
    } 

需要帮助!

+0

你试过用'$ this-> input-> post('city');'而不是'$ _POST ['city']'? – BigFatBaby 2011-03-31 11:10:49

+0

脚本得到了多少?它失败的地方在哪里? AJAX网址是否正确? – Matt 2011-03-31 11:10:53

+0

其工作到jQuery。并且值不会传递给codeingniter的控制器功能。 ajax网址是正确的。 – kamal 2011-03-31 11:16:15

回答

0

我不熟悉codeigniter,但它看起来不错,但你有没有尝试过对象语法?

data: ({city: home_city}), 
相关问题