0

モデルを1つの選択フォームで取得するアプリケーションがあります。モデルの選択に基づいて、imei範囲をロードします。

最初の選択 id:model 2 番目の選択 id: imeirange

Jquery/ajaxコードは以下の通りです

    <script type="text/javascript">
$(document).ready(function() {

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

        $.ajax({
                type: "POST",
                url: "development/getimei",
                data: "model="+$('#model').val(),
                dataType: 'json',
                success: function(imeivalues){
                    $("p").append(imeivalues+"<br/>");
                    alert("sucessful handshake");


                    $('#imeirange').empty();
                        $.each(imeivalues,function(id,imeivalue) 
                   {

                    var opt = $('<option/>'); // here we're creating a new select option for each group
                      opt.val(id);
                      opt.text(imeivalue);
                      $('#imeirange').append(opt); 
                });



                },
               error: function(xhr, status, error) {
               var msg=xhr.responseText;
               //document.getElementById("notice").innerHTML = xhr.responseText;
               var status=xhr.status;
               var error="ReadyState: "+xhr.readyState+"\nstatus: "+xhr.status+"\nresponseText: "+xhr.responseText.Error;
               alert(error);



               },
          });
    });
 });

</script>'

モデルコードは以下の通り

function getimeibymodel($model){
    if($model){
        $this->db->select('id,imeifrom,imeito');
        $this->db->where('mname',$model);
        $query=$this->db->get('models');
        $imeirange=Array();
        if ($query->num_rows() > 0)
        {  
           foreach ($query->result() as $imei) {
            $from=$imei->imeifrom;
            $to=$imei->imeito;

            $imeivalue = $from.'-'.$to;
            $imeivalues[$imei->id] = $imeivalue;

            //var_dump($imeirange);
           }

        return $imeivalues;
            //return $query->result();
        }else{
            return 'Database Error';
        }
    } else return 'No Model Found';

    }

コントローラー呼び出しの最後のコード

 public function getimei(){

    $this->load->model('dev');
    $model = $this->input->post('model');

    header('Content-Type: application/x-json; charset=utf-8');
    echo json_encode($this->dev->getimeibymodel($model), JSON_FORCE_OBJECT);
    //$imeirange = $this->dev->getimeibymodel($model);
    //var_dump($imeirange);
    //echo json_encode($imeirange);

   }

問題は、imei 範囲で 2 番目の選択ボックスをロードできないことです。

ここで私を助けてください。

4

2 に答える 2

0

あくまでも提案ですが、

あなたのスクリプトの最後に私は見ることができます

   </script>' 

a `coute -> '

それを削除して試してみてください........

</script>
于 2013-08-18T15:18:24.720 に答える
0

投稿先のリンクが正しいことを確認してください。これをデバッグするには、FireFox の fireBUG のようなものを使用してください。

データ形式が正しくありません。次のようにする必要があります。

data: { 'model': $('#model').val() },
于 2013-08-18T14:52:25.883 に答える