2017-05-08 82 views
1

我有一個允許編輯數據的CFGrid。我需要做的是通過jQuery使用一些onblur或onchange事件來驗證用戶輸入。但我的jQuery代碼無法使用類訪問CFGrid元素。下面的代碼片段:ColdFusion CFGrid:通過JQuery驗證輸入

<td class=" x-grid-cell x-grid-cell-securityusers_ACTIVE " id="ext-gen1066"><div class="x-grid-cell-inner " style="text-align: LEFT; ;" id="ext-gen1067">No</div></td> 

上面的代碼顯示在Firebug時,點擊可編輯CFGRIDCOLUMN所以,我應該可以使用以下命令:

$('.x-grid-cell-securityusers_ACTIVE').click(function(){    
    alert('click') ; 
}); 

但這一事件永遠不會觸發。我可以確認我的jQuery加載是否正常,因爲容器div(持有網格)會生成單擊事件。

我的猜測是,CFGRID,動態生成,只是不註冊JQuery;我的JavaScript代碼也嘗試在$(document).ready(function() {下,但仍然沒有事件被解僱。

任何想法?任何替代方法?

謝謝!

+0

您是否使用html網格? –

+0

是的。謝謝。這是html網格 – IrfanClemson

+1

可能是因爲您正在嘗試混合來自兩個不同庫(ExtJS和jQuery)的事件模型。充其量,這是有問題的。 – Leigh

回答

0

沒關係。我認爲,按照評論,正確的做法是研究ExtJS API,但是我沒有時間在經歷一些徒勞的嘗試之後。所以我最終在表單發佈之後爲輸入數據做了ColdFusion自己的驗證;有點痛苦,但它的作品。

+1

實際上,像cfgrid這樣的UI組件與底層JS庫的過時版本捆綁在一起,並且很難自定義。 IMO最好的選擇是完全放棄它們。只需使用任何你想要的JS庫直接。這樣,你可以使用你想要的任何版本的庫,而不必擔心在更新CF時破壞事情。 – Leigh

+1

由於您已經在使用jQuery,因此我建議您使用https://datatables.net/ –

+0

謝謝。我在Datatables.net有一些背景,但他們是隻讀表格數據,並沒有看到ColdFusion for Edits的任何「示例」。所以,在大概12年後,我決定再給CFGrid一個試試 - 只是發現它非常難以配置。無論如何,我完成了大部分工作;如果我知道CFGrid的侷限性,我會開始使用jQuery方法。 Adobe將CF視爲一個小孩! – IrfanClemson