こんにちは、stackoverflow開発者 まず解決策が見つからない場合は申し訳ありませんが、私はしばらくの間試しています。 私のアプローチが最高のものかどうかは分かりません.AJAXと/ JSONの代替案がある場合は、お気軽にそれを提案してください。AJAX JSONの結果データから選択リストを取り込む
登録ユーザーが地域や州に応じてリゾート、レストラン、観光スポットを含む観光ガイドサイトを作成しています。私はJoomlaを使用しています!これにはSeblod(カスタムPHP、MySQL、Javascript、AJAX)を使用しています。私は手動で27の動的選択を手動で作成したくないので、私はPHP/AJAX/JSON/JQueryを使用して登録されたビーチ(リゾートと観光スポットが関連しなければならない)のリストを選択しようとしています。
すべてはビーチリストに登録されている以外は機能しますが、問題の原因はわかりません。私はオプションを追加、作成、または追加する複数の方法を試しましたが、何も起こりません。 PHP/JSONの結果は次のとおりです。
` [{"id":"17","title":"Porto+de+Galinhas"},{"id":"18","title":"Serrambi"},{"id":"19","title":"Tamandar%E9"}] `
それは、このPHPスクリプトの結果です:
` if($_GET['q'] == 'beaches'){ $praiaSQL = sprintf("SELECT * FROM vp_content AS c LEFT JOIN vp_cck_store_item_content AS v ON c.id = v.id WHERE c.catid = 10 AND v.cck = 'praia' AND v.venue_state = '%s' ORDER BY c.title ASC;", $_GET['s']); $query = mysqli_query($connection, $praiaSQL); $praia = array(); while($results = mysqli_fetch_assoc($query)){ array_push($praia, array('id' => $results['id'], 'title' => urlencode($results['title']))); } echo json_encode($praia); } `
私もアクセント付き文字を処理するためのソリューションを必要としています。私はここでurlencodeを試していて、JQueryでデコードしていますが、問題になるかもしれません。元のデータとして残したときに、アクセント付きの文字があった場合、結果項目は空でした。
` function setBeachList(x,u){ var theDiv = "#cck1r_" + x; var theSelect = "#" + x; $j(theSelect).children("option:not(:first)").remove(); $j.ajax({ url: u, contentType: "application/json;charset=UTF-8", success: function(data){ if(data.length){ /**** This is where I'm stuck, as I can't find a way to make sure the data is actually being treated/handled. I've tried alerts and all sorts of other options to populate the select. I know it's being called because the before: and after: functions are working. *****/ /* $j.each(data, function(k, v){ var o = new Option(); var newTitle = urldecode(v.title); $j(o).html(newTitle).val(v.id); $j(theSelect).append(o); }); */ var htm = ''; for (var i = 0; i '+urldecode(data[i].title)+''; } $j(theSelect).html(htm); } }, beforeSend: function(){ $j(theDiv).hide(); }, complete: function(){ $j(theDiv).show(); }, dataType: 'json', }); } `: -
この
は(問題がコードである場合、私はコメントしましたuはAJAX JSONの結果を得るためにURLを= X =選択して)結果を処理し、関連するjQueryのです時間と忍耐力をありがとう、私はこれのいずれかの専門家ではありません(まったく初心者ではありませんが、近く...)。