0

現在、関数を呼び出して郵便番号の配列を取得し、これをビューに返すカスタム Joomla コンポーネントで JSON フォームを作成しています。次に、返されたすべての郵便番号を表示するためにループします。返された値を正しくループする jQuery.each ループを取得できないようです。これが私のコードです:

見る:

jQuery.each(data.postcode, function() {
        html += "<span class='btn posctodeInv'>" + v + "</span>";                       
    });

コントローラ:

$club_id = $_POST['club_id'];
$model = $this->getModel('postcodes');
$postcodes = $model->getClubPostcodes($club_id);

header('Content-Type: application/json');
echo json_encode($postcodes);

モデル:

public function getClubPostcodes($club_id) {
        $query = "SELECT postcode FROM #__postcodes_to_club WHERE club_id = '" . (int)$club_id . "'";
        $this->_db->setQuery($query);
        $result = $this->_db->loadAssocList();

        return $result;
    }

返された json が Firebug コンソールに表示されます。

[{"postcode":"cr4"},{"postcode":"cr5"},{"postcode":"cr6"}]

私のループがエラーを投げている理由について、誰かが光を当てることができますか? ありがとう!

4

3 に答える 3

2

試す

jQuery.each(data, function(index, val) {
    html += "<span class='btn posctodeInv'>" + val.postcode + "</span>";                       
});
于 2013-04-10T09:40:40.007 に答える
2

jQuery.each でループするには index と val パラメータが必要です

jQuery.each(data, function(index, val) {
        html += "<span class='btn posctodeInv'>" + val.postcode + "</span>";                       
    });
于 2013-04-10T09:39:48.600 に答える
0
var jsonp = '[{"Lang":"jQuery","ID":"1"},{"Lang":"C#","ID":"2"}]';
  var obj = $.parseJSON(jsonp);
  $.each(obj, function() {
      alert( this['Lang']);
  });

あなたの問題は上記と似ていると思います。上記の方法を試す

于 2013-04-10T10:15:25.630 に答える