0

ビューのドロップダウンメニューで選択されたajaxを使用してデータをコントローラーに渡したいだけです。これが私の試してみたhttp://pastebin.com/KnLqW8Pcです。

    //// controller ///////    
<?php         
    class Ilce extends CI_Controller{         
            public  $ilceid;         
            public function __construct()
            {
                    parent::__construct();
                    $this->load->model('ilce_model');
            }

            public function index()
            {      
                    $this->load->helper(array('form'));
                    $data['ilce'] = $this->ilce_model->ilce_getir();

                    $this->load->view('ilce', $data);
                    /*
    hello, i want to print here to data which will select in view and passed by jsfunc file ( ajax ) to here again...
    */       

            }               
    }


/////////////////////////////////view/////////////////////////////////
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <link rel="stylesheet" type="text/css" href="style/reset.css"/>
    <link rel="stylesheet" type="text/css" href="style/page.css"/>
    <link rel="shortcut icon" href="img/3burcak.ico"  />
        <script type="text/javascript" src="<?php echo base_url();?>js/jquery.js"></script>
        <script type="text/javascript" src="<?php echo base_url();?>js/jfunc.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>3Burçak Ltd.Şti.</title>

    </head>
    <?php echo  form_open('ilce/index')?>






    <select id="ilce" name="ilce">
    <option value="">Select Town</option>
    <?php foreach ($ilce as $x):?>
    <option value="<?php echo $x['id']?>"><?php echo $x['ad']?></option>
    <?php endforeach?>
    </select>
    <select id="semt">
    <option value="">Please select Town first.</option>
    </select>






////////////////////////////////////////////////////////jsfunc

$(document).ready(function(){

    /* il ilce arama*/
    $("#ilce").change(
        function(){
           if($("#ilce").val()!="-1"){
              var ilceid=$("#ilce").val();
               $.post('ilce/index',{"ilceid":ilceid},function(output){
                    $('#semt').remove();
                    $('#semt').append(output);

               });

           }
        });

        /* il ilce arama bitti*/





    });
4

2 に答える 2

0

私の友人、あなたが投稿したコードはフォーマットされていないため理解できませんが、私が理解していることから、ビュー情報を ajax リクエストに渡したいと考えています。その場合、それを行う方法は、この場合「Ilce」のコントローラー内にある ajax リクエストとしてページを呼び出します。ここではインデックス ページをリクエストしているとしますので、たとえば $this->load->view('xyz', $data); のようにビューを読み込みます。これにより、望ましい結果が得られます。

Code Igniter と jQuery Ajax を使用して ajax データを取得する方法を詳細に示したこのチュートリアルを確認することもできます

この助けを願っています

于 2013-03-17T14:01:36.820 に答える
0

そのようなビューを AJAX 呼び出しからロードすることはできません。データをビューに返す別の関数を作成すると、追加が機能します。

jQuery

$("#ilce").change(
     function(){
        if($("#ilce").val()!="-1"){
            var ilceid=$("#ilce").val();
            $.post('ilce/ajax_return_data',{"ilceid":ilceid},function(output){
                    $('#semt').remove();
                    $('#semt').append(output);

               });

       }
    });

コントローラ

function ajax_return_data()
{
    $this->load->helper(array('form'));
    $data['ilce'] = $this->ilce_model->ilce_getir();
    print json_encode(array('output'=>$data['ilce']));
}
于 2013-03-17T14:41:04.803 に答える