0

jquery と ajax を使用してドロップダウンを作成したいと考えています。

私のjquery呼び出しは

<script>
        $(document).ready(function(){
            $.ajax({           
                type: "GET",
                url: "<?=base_url()?>user/getstate/",                  //the script to call to get data          
                data:'',                        //you can insert url argumnets here to pass to api.php
                dataType: 'json',                //data format      
                success: function(data){    //on recieve of reply
                    $("#state").append('<option selected>State</option>');
                    for(i in data) 
                        $("#state").append("<option value=\""+data[i][0]+"\">"+data[i][1]+"</option>");
                } 

            });
        });
    </script>

移植する必要がある部分は

<select id="state" class="span2" style="height:30px" name="state" required>
</select>

コントローラーの機能は

public function getstate(){

        $this->load->model('usermodel');
        $data=$this->usermodel->getstate();
        echo json_encode($data);


}

データがフェッチされているモデルは

public function getstate(){
    $sql="SELECT * FROM statelist";
    $query=$this->db->query($sql);
    $result=$query->result_array();
    return $result;
}

ステートリストのデータは

シド | 州名

wb | 西ベンガル

が | が | 行きます

私が直面している問題は、ページをロードすると、期待どおりに2つの要素を持つドロップダウンが表示されることですが、このフォームでは

状態
未定義
未定義

必要なデータまたは期待されるデータの代わりに「未定義」になる理由がわかりません


西ベンガル 州
ゴア

解決策は本当に私を助けます。

4

1 に答える 1

0

Jquery は json をオブジェクトに変換するため、次のように参照する必要があります。

data.i

いいえ

data[i]

配列の場合と同じように。

しかし、私はあなたの鍵ではないと推測しています。成功パラメーターでデータ「console.log(data)」をログに記録しようとすると、正しいキー名を確認できるはずです。

于 2013-04-06T16:45:28.573 に答える