答えた
この投稿に返信してくれたすべての人に感謝します。Kevin (ループの最適なソリューション) に感謝し、並べ替え機能については Deepak に感謝します。
サイトでこのデータのページネーション ソリューションを見つけようとしていますが、それ以上の助けをいただければ幸いです。
ありがとうございました!
オリジナル・クワイス
あなたが私を助けてくれることを願っています。JSON フィードがあります (検証済みで、http://jsonlint.com/で完全に機能しています)。私は自分の側でページを設定しましたが、1 つの結果を問題なく解析できます。フィードには多くの結果があり、すべての結果を返すには jQuery が必要です。ここで示している例には 11 件の結果がありますが、他のページのいくつかには最大 300 件の結果があります。したがって、これは 2 つの部分からなる質問です。
私のスクリプトの知識は、与えられたコードを変更できることですが、それを自分で書くことはできません (ただし、私は自分自身を教える過程にあります)。
- すべての結果を返すにはどうすればよいですか?
- 結果をページ分割するにはどうすればよいですか。たとえば、1 ページあたり 15 です。
JAMES PADOLSEY によるCross Domain Ajaxプラグインを使用してデータを取得しています - これは正しい用語ですか?
私が使用しているjQueryコードは次のとおりです。
jQuery.noConflict()(function($) {
$(document).ready(function($) {
$.ajax({
type: 'GET',
url: "http://dealer.mustek.co.za/public-content-api.html?content=dealers&province=limpopo",
success: function(response) {
var headline = $(response.responseText).text()
var json_obj = $.parseJSON(headline); //parse JSON
console.log(json_obj);
var output = '';
for (var i = 0; i < json_obj.user_id; i++)
output += "<div class='dealer'>";
output += "<dl>";
output += "<dt>Company Name</dt>"
output += "<dd>" + json_obj[i].company_name + "</dd>"
output += "<dt>Company Description</dt>"
output += "<dd>" + json_obj[i].company_description + "</dd>";
output += "<dt>Email Address</dt>"
output += "<dd>" + json_obj[i].company_email + "</dd>";
output += "<dt>Contact Number</dt>"
output += "<dd>" + json_obj[i].contact_number + "</dd>";
output += "<dt>Website URL</dt>"
output += "<dd>" + json_obj[i].website_url + "</dd>";
output += "<dt>City</dt>"
output += "<dd>" + json_obj[i].city_suburb + "</dd>";
output += "<dt>Physical Address</dt>"
output += "<dd>" + json_obj[i].physical_address + "</dd>";
output += "</dl>"
output += "<p>"
output += "</div>";
$('#dealer_limpopo').html(output);
},
});
});
});
そして、div をテスト html ページhttp://thegearbox.co/thisisatest/にプルしています。
ご覧のとおり、フィードに問題はなく、すべてが完全に機能しています。すべてのデータをループする厄介な行が必要なだけです。現在、
for (var i = 0; i < json_obj.user_id; i++)
仕事をしていません。
どんな助けでも大歓迎です!
PS。データをアルファベット順にソートする方法はありますか? :)
アップデート
これまでにコメントをくださった皆様、本当にありがとうございました。以下の@Kevinのソリューションを使用して、すべてのデータを表示しました
for (var i = 0; i < json_obj.length; i++)
@Deepak のソリューションを使用して、データをアルファベット順に並べ替えています。
json_obj.sort(function compare(a,b) {
if (a.company_name < b.company_name)
return -1;
if (a.company_name > b.company_name)
return 1;
return 0;
});
誰でもページネーションを手伝ってもらえますか?