我有一个来自我学校数据库的车牌号码列表,我已经将它放入一个带有coldfusion的列表并以html显示。看起来像这样...
在通过冷融合将数据导入列表之前,我在数据库中的数据中进行硬编码并获得结果。但是,这是一个相当长的列表,因此硬编码其中的所有值并不是一个好的选择,尤其是如果将来要扩展此列表。所以,我刚刚制作了另一个 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>
先感谢您!