学校のデータベースからのナンバー プレート番号のリストを、coldfusion でリストに入れ、html で表示しています。このように見えます...
coldfusion を使用してリストにデータをインポートする前は、データベースからデータをハードコーディングして結果を取得していました。ただし、これはかなり長いリストであるため、特にこのリストが将来拡張される場合は、すべての値をハードコーディングするのは適切なオプションではありません。そのため、リストにすべてをスローすることを処理する別の CF ファイルを作成しました。そのファイルは次のようになります。
setPlates.cfm
<cfquery name="q_sample" datasource="cars_live">
SELECT LICENSE FROM veh_rec
</cfquery>
<cfloop query="q_sample" >
<li><a href='#Student'><cfoutput>#q_sample.license#</cfoutput></a></li>
</cfloop>
そして、これが私がそれらをリストに入れる方法です:
<div class="ui-grid-solo">
<div class="ui-block-a"><br></div>
<div class="ui-block-a"><ul id="plates" data-role="listview" data-inset="true" data-filter="true" data-filter-reveal="true" data-filter-placeholder="Filter Students">
<script type="text/javascript">
$.get("setPlates.cfm")
.done(function(data) {
$("#plates").html(data);
});
</script>
<div id="plates"></div>
</ul></div>
</div><!-- /grid solo -->
ただし、すべての学生データを出力するために持っていたアルゴリズムが機能しなくなりました。私の唯一の推測は、li 要素を別のファイルに作成しても、同じファイルに作成したときと同じようにはリストされないということです。同じファイルで作成されていない場合でも、クリックされたliのテキストを取得する方法はありますか? 以下は、ハードコードされた値で作業していたクリック アルゴリズムと CF ファイルです。
<script type="text/javascript">
$("#plates li").click(function() {
alert("hi");
var strLicense=$(this).text();
strLicense=$.trim(strLicense);
$.get("joey.cfm", { license: strLicense})
.done(function(data) {
$("#myResults").html(data);
});
});
および joey.cfm:
<cfparam name="License" default="">
<cfquery name="q_sample" datasource="cars_live">
SELECT * FROM veh_rec WHERE LICENSE=<cfqueryparam cfsqltype="cf_sql_varchar" value="#trim(urldecode(License))#">
</cfquery>
<cfif q_sample.recordcount eq 0>
No Results found for <cfoutput>"#License#"</cfoutput>
</cfif>
<cfoutput query="q_sample" >
<p>License Plate Number: #license# <br><br> Permit ID Number: #decal#<br><br> Student ID Number: #ID#</p>
</cfoutput>
前もって感謝します!