私はAJAXでクエリを実行して、自分のページに表示する画像情報/パスのリストを取得しました。私のテーブルでは、ブール値の列main
があり、イメージがメインイメージであるかどうかを示し、他のすべてのイメージよりも上に表示されます。x = trueの場合<cfloop>の最初の配列位置に項目を移動
私はAJAX経由でクエリ結果にアクセスしているので、JavaScriptの関数が返されたデータをループして、<img>
タグを構築するページに戻す前に、データの配列を作成する必要があります。
main
ブール値を認識し、その画像をページの最初の位置に移動するには、CFCまたはJavaScriptループを取得するにはどうすればよいですか?ここで
は私のCFCです:
<cfquery name="project_images">
select path, title, alt, main from tbl_images where pid = #projects.pid#;
</cfquery>
<cfloop query="project_images">
<cfset imgStruct = structNew()>
<cfset imgStruct["path"] = path>
<cfset imgStruct["alt"] = alt>
<cfset imgStruct["title"] = title>
<cfset imgStruct["main"] = main>
<cfset ArrayAppend(imgArray, imgStruct)>
</cfloop>
<cfset local.response["images"] = #imgArray#>
<cfreturn local.response>
そして、私のjQueryの機能:
$('.project_class').click(function(e){
e.preventDefault();
var theclass = $(this).attr('id');
var cat = 'planning';
$.getJSON("../cfc/projects.cfc?returnFormat=json&method=getProjects",
{"theclass":theclass, "cat":cat},
function(response){
$('#portfolio_item').html(response.html);
var imageData = response.images;
$.each(imageData, function(i, item) {
$('#portfolio_item').append('<img src="..' + item.path + '" />');
});
});
});
SQLは素晴らしいです!ありがとうございました。それは実際に私がそれを処理したいと思った方法です、私はちょうど方法を確信していませんでした。そして、 ''タグを覚えておいてください。私はコードをプロダクションに移すときに常にそれらを使用します。再度、感謝します! –
Ofeargall