2012-01-17 11 views
0

こんにちは私は国のドロップダウンリストを作成しようとしていますが、ユーザーが動的に作成された特定のページにリダイレクトする国を選択すると、 javascriptを使用していますが、私は郡 "id"のようにuriで公開しているように、より多くのパラメータをコントロールに入れておく必要がありますので、$ _postを使って可能です。 あなたは@Joseph SILBERは説明のような何かをしないのはなぜこの私のコードですcodeigniterの自動リダイレクトドロップリストを使用してパラメータを渡す方法

ビューページ

<?php echo form_open('site/country');     
    $options = array(); 
    $js = 'id="country" onChange="window.location.href= this.form.CTRY.options[this.form.CTRY.selectedIndex].value"'; 
    $options['#'] = "(please select a country)" ; 
    foreach ($list as $row):  
     $value= site_url()."/site/country/".url_title($row->name); 
    $options[$value] = $row->name ; 
    endforeach; 
    echo form_dropdown('CTRY', $options,'',$js);  
    //$test =array ('number' => 10)  
    //echo form_hidden($test); 
    echo form_close();?> 

これは、コントローラの私の方法

function country($data) 
    { 
echo 'this is taking you to county= '.$data; 

} 
+2

「window.location.href」でPOSTすることはできません。それにはAJAXが必要です。 [jQuery](http://api.jquery.com/jQuery.post/)の使用をお勧めしますか? –

答えて

0

です。

ドロップダウンリストが変更されたときにjQueryを使用してリダイレクトを管理しますか?

類似のもの; serilaizeを()を使用して

$('#my-drop-down').change(function() { 
     $.ajax({ 
     url: '/site/country', 
     type: 'post', 
     data: $("#my-form").serialize(), 
     success: function(response.redirect) { 
      window.location.href = response.redirect; 
     }, 
     error: function(response) { 
      alert('Oops'); 
     } 
    }); 
}); 

、フォームからすべてのデータを投稿、またはちょうどあなたが渡したいパラメータを追加することができます。

例:data: 'id='+$('#id').val()+'&country='+$('#country').val()

+0

私はそれが最良の方法だと感謝します –