簡體   English   中英

cfselect綁定和事件沖突jquery

[英]cfselect bind and jquery on events clashing

我正在使用<cfselect>的bind屬性來綁定加載狀態列表。 該綁定與另一個加載關聯城市的<cfselect>關聯。 那兩個工作正常。

現在,我需要添加第三個選擇列表。 當第一個cfselect更改時,我想將兩個cfselect的值傳遞給jQuery,以加載第三個列表。 第三個列表是純HTML <select> 這基本上是一個舊的繼承代碼,所以我知道將兩者混合是一個壞主意。

所以這就是正在發生的事情。 最初的通話效果很好。 它通過了正確的cityid 下次更改狀態時,其狀態通過cfselect更改,但它傳遞的是舊的cityid而不是新的cityid 這為第三個下拉菜單創建了一個問題,該下拉菜單不會加載結果。

所以基本上結構是這樣的:

  • 第一個cfselect綁定加載狀態
  • 第二個cfselect綁定根據傳遞的stateid加載城市
  • 第三select從前兩個cfselect獲取州和城市值以加載郵政編碼

現在,jQuery代碼:

$(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})
}); 

我希望我已經闡明了一個問題。

因為您已經對jQuery很熟悉並且可以使用它,所以請完全撕掉<cfselect>並使用普通的<select>和jQuery的.ajax()方法完成全部工作。 這樣您就可以消除沖突。

您基本上已經遇到了使用ColdFusion的UI向導的基本缺陷:它們編寫得很差,並且根本無法與其他需求互操作。 <cfselect>並非旨在與其他JS技術一起實現。 從根本上講,這是一個進化的死胡同(死胡同發生在大約十年前)。

這里是一些刪除<cfselect>指導:“ CFSELECT-CHAINED

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM