jQuery填充第二个选择列表
有一个问题,但我想再问一次,因为ColdFusion与PHP不同。 我有两个选择列表,第二个是从第一个填充的jQuery填充第二个选择列表,jquery,coldfusion,Jquery,Coldfusion,有一个问题,但我想再问一次,因为ColdFusion与PHP不同。 我有两个选择列表,第二个是从第一个填充的 <cfparam name="form.MajorID" default="0"> <cfform name="myForm" preservedata="yes"> <cfselect name="MajorID" query="qryMajor" display="MajorDisplay" value="MajorID" queryPosition="
<cfparam name="form.MajorID" default="0">
<cfform name="myForm" preservedata="yes">
<cfselect name="MajorID" query="qryMajor" display="MajorDisplay" value="MajorID" queryPosition="below"
onChange="document.myForm.submit();">
<option value="0">Please Select major topic</option>
</cfselect>
<div>
<cfset qryMinor = objMinor.WhereMajorID(form.MajorID)>
<cfselect name="MinorID" query="qryMinor" display="MinorDisplay" value="MinorID" queryPosition="below" onChange="document.myForm.submit();">
<option value="0">Please Select minor topic</option>
</cfselect>
</div>
</cfform>
我想删除提交表单的onChange事件,而是让jQuery通过Ajax填充第二个选择列表。我知道有一个很好的例子,但是我已经在使用jQuery,我更愿意使用它,而不是在项目中添加第二个框架
我知道我必须将Minor.cfc中的WhereMajorID函数更改为access=remote,但我对javaScript内部的整个循环非常不满意
$('#MajorID').change(function() {
// $.post magic happens here
});
我希望我已经澄清了这个问题。我对Coldfusion了解不多,但我知道jQuery:
// Bind logic to the change event of the first SELECT
$("#firstSelect").change(function(){
// Get currently-selected value
var option = $(this).val();
// Pass value to a server-side script through id of 'majorID'
$.post("somepage.php", { 'majorID':option }, function(data) {
// Remove all options from second SELECT
$("#secondSelect option").remove();
// Cycle through returned 'data' variable: i = index, o = object
$(data).each(function(i,o){
// Add new option to second SELECT
$("#secondSelect").append( $("<option>").val(i).text(this) );
});
// This indicates the type of data we expect back
}, "json");
});
如果您使用的是ColdFusion 8或更高版本,则可以使用cfselect的数据绑定功能。本·福塔有一个很棒的职位 下面是一个小代码示例:
<cfform>
<table>
<tr>
<td>Select Media Type:</td>
<td><cfselect name="mediaid"
bind="cfc:art.getMedia()"
bindonload="true" /></td>
</tr>
<tr>
<td>Select Art:</td>
<td><cfselect name="artid"
bind="cfc:art.getArt({mediaid})" /></td>
</tr>
</table>
</cfform>
隐马尔可夫模型。。我不太擅长这个,但让我们试一试。Minor.cfc是服务器端的,对吗?它提供什么样的输出?如果你想使用JSON,这篇文章可能会帮助你:Minor.cfc可以提供任何你想要的输出。Sam Farmer,一行程序之王!
<cfform>
<table>
<tr>
<td>Select Media Type:</td>
<td><cfselect name="mediaid"
bind="cfc:art.getMedia()"
bindonload="true" /></td>
</tr>
<tr>
<td>Select Art:</td>
<td><cfselect name="artid"
bind="cfc:art.getArt({mediaid})" /></td>
</tr>
</table>
</cfform>