设置会话变量,我想设置一个ColdFusion会话变量时的一个选择框的值发生变化。但是,我在一个警告框上出现错误,提示“Object HTMLSelectElement”并且不会更改会话变量。任何帮助都会很棒。通过Ajax的选择框使用ColdFusion
代码:
Form.cfm
<cfset session.item1 = 0>
<cfselect name="item1" class="form-control" id="item1">
<option value="0">0</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">40</option>
<option value="50">50</option>
</cfselect>
脚本
$('#item1').change(function() {
var item1Selected = $('#item1').val();
$.ajax({
url: '\components.cfc?method=getItem1', // You repeated "url:" in your url
data: {item1: item1Selected}, // added missing final comma
success: function(item1Selected) { alert(item1); }
});
});
Components.cfc
<cffunction name="getItem1" access="remote" returntype="any">
<cfargument name="item1" type="any" required="yes">
<cfset session.item1 = #argument.item1#>
<cfreturn />
</cffunction>
我不确定在ajax调用中将item1作为数据传递给CF作为参数。我会将'&item1 ='+ item1Selected添加到URL的末尾并删除数据元素。否则,你将不得不在你的函数中使用getHTTPRequestData并反序列化数据。 – snackboy