У меня есть одно выпадающее меню, которое имеет 14 значений. В зависимости от выбранного значения он будет запрашивать базу данных SQL Server и возвращать некоторые клиенты для отображения во втором раскрывающемся списке.Заполнение второго раскрывающегося списка с использованием ColdFusion, jQuery и Ajax
Я хочу, чтобы второе выпадающее меню использовало виджет jquery Multiselect, в котором у каждого значения есть флажок.
Вот что я в последний раз пытался сделать, и он просто не работает.
<form>
<label for="lstTiers">Tier:</label>
<select name="lstTiers" id="lstTiers">
<option value="1">Tier 1</option>
<option value="2">Tier 2</option>
<option value="3">Tier 3</option>
<option value="4">Tier 4</option>
<option value="5">Tier 5</option>
<option value="6">Tier 6</option>
<option value="7">Tier 7</option>
<option value="8">Tier 8</option>
<option value="9">Tier 9</option>
<option value="10">Tier 10</option>
<option value="11">Tier 11</option>
<option value="12">Tier 12</option>
<option value="13">Tier 13</option>
<option value="14">Tier 14</option>
</select>
<label for="lstClients">Client:</label>
<select name="lstClients" id="lstClients">
</select>
<input type="button" name="click_me" id="click_me" value="Click Me" />
</form>
Вот одна попытка на JQuery:
$('#click_me').click(function() { alert('here');
$.ajax({
url: 'Ajax-test.cfc?method=returnSomething',
data: {
Tier: $('#lstTiers').val()
},
cache: false,
dataType: 'json',
success: function(data) {
$('#lstClients').html(data);
},
// This fires when an error with ColdFusion occurs
error: function() {
alert('An error has occured!');
}
});
}); // End click()
Я также попробовал некоторые другие JQuery, где я петельные и построил варианты.
Наконец, вот мой файл CFC:
<cfcomponent output="false">
<cffunction access="remote" name="returnSomething" returntype="query" returnformat="json">
<cfargument name="Tier" type="string" required="yes">
<cfquery name="qryGetClients" datasource="ProjectGrid_Test">
SELECT Div, ClientName FROM tblClientUpgradeClients WHERE Tier = #arguments.Tier# ORDER BY Div
</cfquery>
<cfreturn qryGetClients>
<cffunction>
</cfcomponent>
Если возможно, что вернулся выпадающий список должен позволить пользователю MULTISELECT с помощью флажка. Я играл с виджетами jQuery Multiselect, и я работал, но не по этому динамическому запросу.
$('#lstClients).multiselect(
{ noneSelectedText:"All Selected",
show: ["fade"],
hide: ["fade"],
selectedList: 1,
multiple: true,
uncheckAllText: ["Clear"]
});
а не делать '.html (данные)', вам необходимо преобразовать данные в HTML строку параметров. Хотя, я не совсем понимаю ваш запрос sql ... вы действительно сохраняете
Нет, я не хранил ';; ("#lstClients").HTML (варианты); // \t \t \t} –
А, извините, я пропустил интерпретацию того, что вы делали в sql. Это имеет смысл, но я все равно буду делать это на стороне клиента. Цикл for, о котором вы говорили, будет обычным способом этого. –