2017-07-12 5 views
0

は、ここに私のJSjQueryの空の文字列select.val()ここで

$.ajax({ 
    url: "get_packages", 
    success: function(data) { 
     var form = $("select#packages"); 
     for (var i=0 ; i<data.length; i++) { 
      form.append("<option>"+data[i].package_name+"</option>"); 
     } 
    }, 
    dataType: "json" 
}); 

var pack = $("#packages").val(); 
console.log(pack) /* RETURNS UNDEFINED */ 

私のマークアップここ

<select id="packages"></select> 

されているモデルにある

public function get_packages(){ 
     return $this->db->from("packages")->get()->result_array(); 
} 

コントローラ

public function get_packages() { 
     header("Content-type: application/json"); 
     $res = $this->swimsdb->get_packages(); 

     echo json_encode($res); 
} 

ここで問題と思われるものは何ですか?私は他のドロップダウンボックスを持っていますが、未定義の値を返さないように管理しています。これはundefinedに戻った唯一のケースでした。

+0

あなたのjQueryの$(文書)に包まれたコード.ready(関数(){である$ jQueryオブジェクトのため

$form.append("<option>"+data[i].package_name+"</option>"); 

あなたのコード}}); ?? – Sujith

+0

ここであなたは変数として単語を使用することはできません[JS予約](https://www.w3schools.com/js/js_reserved.asp) –

+0

@DavidJorHpan変数名を変更しましたが、まだ動作しません –

答えて

0

、あなたのselect要素に

<select id="packages"><option value=""></option></select> 

をオプションを追加JSFiddle:https://jsfiddle.net/2rw3ewjL/1/

+0

まだ未定義です:( –

+0

オプション '' 'ヌル'を返します。要素が見つからないときに返されます。 –

0

$はjQueryのであることを確認してください。ブラウザのコンソールウィンドウでコード$.fn.jqueryを実行するとjQueryのバージョンが表示されます。そうでない場合は他のライブラリへの参照です。それは、この問題は次のように線の上jQuery("#packages").val()

0
form.append("<option>"+data[i].package_name+"</option>"); 

の変化を使用している場合、この

関連する問題