我試圖創建一個簡單的文本塊,當3個表單域中的1個被更改時,該塊更新。jQuery <function>不是函數
這裏是我的jQuery和它不斷收到此錯誤:TypeError: $(...).updateTitlePrefix is not a function
誰能告訴我,我做錯了什麼嗎?
$ = jQuery.noConflict();
$(document).ready(function() {
$('#dataEntryForm\:studyId').updateTitlePrefix();
$('#dataEntryForm\:formNumberQualifier').updateTitlePrefix();
$('#dataEntryForm\:formVersionNumber').updateTitlePrefix();
});
// updates the titlePrefix when either the study#, form# or form version are changed
$.fn.updateTitlePrefix() = function() {
$(this).change(function() {
$('#dataEntryForm\:titlePrefix').text($('#dataEntryForm\:formNumberQualifier').text() + $('#dataEntryForm\:formVersionNumber').text() + $('#studyId').text())
});
}
不知道這是否是相關的,但我對jQuery的1.3.2,因爲這是一個JSF項目,而這正是包括在RichFaces的庫。
看起來當文檔已經準備就緒時,您正在執行代碼,否則您會看到錯誤*「ReferenceError:賦值時無效的左側」*。 – 2013-03-21 16:59:47
我可能是錯的;但無論哪種方式,我很確定這是一個'方法'... – faino 2013-03-21 16:59:50
只是出於好奇,它可能只是最終的偏好。但是,爲什麼你不把函數作爲基本函數(不是綁定jq函數),然後在文檔就緒時將其綁定到選擇器。這樣做,您可以靈活地重複使用您的功能,或者在您的用戶界面中可能出現的其他事件。簡而言之,你將事件從函數中分離出來。現在看來它緊密結合並且單一目的。 (function(){('yourselectors')。change(function(){yourfunction(this);})); }); – williambq 2013-06-04 18:12:54