Обновите cfselect без отправки формы
У меня есть cfselect, который связан с запросом, используя ajax-прокси. Я делаю обновление и добавление новых значений, соответствующих cfselect, в моем cfwindow. Я хочу, чтобы пользователь всегда получал самый последний и обновленный список в cfselect. Есть ли функция, которую я могу вызвать в onclick и интерн обновит cfselect. Пожалуйста помоги!!!
1 ответ
Arasu,
Это большое совпадение, что у меня тоже был похожий сценарий, с которым мне пришлось столкнуться. Однако это идет так.
Решение: ColdFusion.Bind.assignValue(,,)
У меня есть мой cfselect, который связан с запросом. Значения, связанные с моим запросом на привязку, обновляются на другой странице моего веб-сайта (в вашем случае это окно cfwindow). поэтому мне тоже нужно, чтобы мои пользователи получали последний набор значений в cfselect каждый раз, когда они его выбирают. вот и приходит волшебство. Я вызываю ColdFusion.Bind.assignValue (,,) в onClick моего cfselect, где:
name: имя элемента управления (здесь это имя cfselect), который вы хотите связать
имя атрибута: атрибут элемента управления для назначения значений
функция: функция, ответственная за привязку данных к элементу управления.
Мой код идет:
<cfform style="align:centre" id="frm_drpDwnBus" name="frm_drpDwnBus">
<cfinput name="hdnrr" value="#rrSbstring#" type="hidden">
<cfselect name="dpDwnBs" bindOnLoad="true"
bind="cfc:getCalculatorData.getAllBus(hdnrr.value)"
value="busType_id_pk"
display="busType_name"
queryposition="below" onclick="javascript:refresh(hdnrr.value)" >
<option value="0" on>Select a Bus</option>
</cfselect>
</cfform>
И мой код JavaScript:
<cfajaxproxy cfc="Calculator.getCalculatorData" jsclassname="cfcCalcu">
var dataCalcu= new cfcCalcu();
function refresh(s)
{
ColdFusion.Bind.assignValue('dpDwnBs','value', dataCalcu.getAllBus(s))
}
Теперь то, что я бы порекомендовал вам сделать, это вызвать функцию "обновить", когда вы сделали какое-либо обновление / удаление в своем коде cfwindow. это обновит привязку к вашему cfselect.