更新选择没有表单提交

时间:2011-05-05 06:30:49

标签: onclick cfwindow

我有一个cfselect,它使用ajax代理绑定到查询。 我做了更新并添加了与cfselect相对应的新值 在我的cfwindow 我希望用户始终获得最新和更新的列表 cfselect。是否有一个我可以在onclick和intern中调用的函数将刷新cfselect。 请帮忙!!!

1 个答案:

答案 0 :(得分:1)

Arasu,

我也有类似的场景需要处理,这是一个很大的巧合。不过就是这样。

解决方案是:ColdFusion.Bind.assignValue(,,)

我有一个与查询绑定的cfselect。与我的绑定查询关联的值将在我的网站的另一个页面中更新(在您的情况下为cfwindow)。所以我也需要我的用户在每次选择时都在cfselect中获取最新的值集。所以这就是魔术。我在我的cfselect的onClick中调用ColdFusion.Bind.assignValue(,,),其中:

name:要绑定的控件名称(此处为cfselect名称)

属性名称:用于将值分配给

的控件的属性

function:负责将数据绑定到控件的函数。

我的代码是:

<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代码中完成任何更新/删除后调用'refresh'功能。这会更新你的cfselect绑定。