首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >事件冲突的cfselect绑定和jquery

事件冲突的cfselect绑定和jquery
EN

Stack Overflow用户
提问于 2014-12-18 10:36:50
回答 1查看 230关注 0票数 0

我使用<cfselect>的bind属性绑定加载一个状态列表。该绑定与另一个加载相关城市的<cfselect>相关联。这两个绑定都很好。

现在我需要添加第三个选择列表。当第一个cfselect被更改时,我想将两个cfselect的值传递给jQuery,以加载第三个列表。第三个列表是一个普通的html <select>。这基本上是一个继承的旧代码,所以我知道这两个东西的混合是个坏主意。

下面是正在发生的事情。第一次打电话没问题。它传递正确的cityid。下次我更改状态时,它的状态通过cfselect改变,但它传递的是旧的cityid而不是新的。这为第三个下拉列表带来了一个问题,它不加载结果。

所以基本上结构是这样的:

  • 第一次cfselect绑定负载状态
  • 第二,cfselect绑定基于传递的stateid加载城市
  • 第三,select获取前两个cfselect的州和城市值来加载邮政编码。

现在是jQuery代码:

代码语言:javascript
复制
$(document).on('change',function() {
   var a = $("#cfselect1").val();
   /* 
      The next line seems to be a problem area. It always fetches 
      the old cityid. Maybe due to the ext js bind is loading 
      later than jquery being first
   */
   var b = $("#cfselect2").val(); 
   $ajax({ajax code here})
}); 

我希望我说清楚了一个问题。

EN

回答 1

Stack Overflow用户

发布于 2014-12-18 11:48:13

由于您已经熟悉了jQuery,并且可以使用它,因此可以完全删除<cfselect>,并使用普通的<select>和jQuery的.ajax()方法完成全部工作。这样你就可以消除冲突了。

您基本上遇到了使用ColdFusion的UI向导的基本缺陷:它们编写得很糟糕,并且与其他需求完全不兼容。<cfselect>不适合与其他JS技术一起实现。它基本上是一个进化的死胡同(死胡同发生在大约十年前)。

下面是一些关于如何提取<cfselect>的指导:"碳纤维链式

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27544538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档