Я получаю сообщение об ошибке во втором раскрывающемся меню при выборе параметра в первом раскрывающемся меню.Я использую Coldfusion / MS SQL для формы и данных.
SQL-запрос корректен, так как cfdump показывает нужные мне значения.Кажется, что работает ajax / jquery, поскольку он по-прежнему извлекает правильные значения из моего метода из моего файла CFC.Хотя после всех значений в конце (в зависимом раскрывающемся списке) есть ошибка, которая гласит:
var req;
function Initialize() {
try {
req = new ActiveXObject("Msxml2.XMLHTTP")
}
catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP")
}
catch(oc) {
req = null
}
}
if (!req && typeof XMLHttpRequest != "undefined") {
req = new XMLHttpRequest()
}
}
function getEncryption(urlString) {
Initialize();
var url = '/genEncryption.cfm?' + urlString;
if (req != null) {
req.onreadystatechange = processEncryption;
req.open("GET", url, false);
req.send(null);
}
}
function processEncryption() {
if (req.readyState == 4) {
if (req.status == 200) {
newLocation = req.responseText;
window.location = newLocation;
} else {
alert('An unspecified error occurred. Please call the admin for assistance');
}
}
}
. Она собирает правильные данные для заполнения второго раскрывающегося списка.Я очень смущен, и я впервые работаю с зависимыми выпадающими меню, используя Coldfusion / CFC / MSSQL, мне нужна помощь!
Это мой код Ajax / Jquery:
<script type="text/javascript">
$(document).ready(function() {
$("#type").change(function() { // when the Type dropdown changes
$("#model").empty(); // empty the Model dropdown
$.ajax({
type: "GET",
url: "../CFCs/Test.cfc",
data: {
Type: $("#type").val(),
Method: "getModels"
},
dataType: 'text',
success: function(data) {
var options = data.split(","); // convert returned list to array
var select = document.getElementById('model');
for(var i=0;i<options.length; i++)
{
var options2 = $.trim(options[i]); // clean up label portion
$("#model").append($("<option></option>").val(options[i]).text(options2)); // append options to model dropdown
}
}
});
});
});
</script>
И это то, что у меня есть в моем CFC-файле для метода, используемого для заполнения второго раскрывающегося списка:
<cffunction name="getModels" access="remote" returntype="any" returnformat="plain" >
<cfargument name="type" type="string" required="no" />
<cfquery name="getModels" datasource="MyDataSource" >
SELECT DISTINCT model
FROM table
WHERE type = 'test model'
ORDER BY model
</cfquery>
<cfset myList = ValueList(getModels.model)> <!--- convert query results to list --->
<cfreturn MyList />
</cffunction>
И вот что я выбрал для выпадающего списка:
<select id="type" name="type">
<cfoutput query="SelectType">
<option value="#type#">#type#</option>
</cfoutput>
</select>
<select id="model">
<option value="">select model</option>
</select>
Я несколько дней чесал голову, пытаясь сделать это разными способами.Cfselects не работает вообще, особенно с приложением, которое я использую.Мне нужно какое-то направление или помощь - если кто-то может направить меня в нужное место с помощью выпадающего списка / выбора с Coldfusion / CFC и JavaScript / jQuery / Ajax, я был бы очень благодарен!
Также обратите внимание: SQL-запрос вместе с другим кодом, который у меня есть, маскируется в фиктивном тексте / коде из соображений безопасности!