2011-12-19 74 views
0

首先我會解釋我的senario:從後面的代碼和ajax調用jquery函數

我有一個頁面,其中用戶登錄或註冊。登錄控件和註冊文本框有兩個不同的div,我使用jQuery來隱藏和顯示另一個。

然後在register DIV我有一個ScriptManagerUpdatePanel和它裏面的內容模板我有我的按鈕叫check,檢查給定的用戶名是不是已經選擇。 (我有它,因爲我不想要回發)。

現在我想實現代碼:

當按鈕事件檢查用戶名後,就應該調用一個jQuery函數來顯示我在我所有的文本框都包含股利。

<script type="text/javascript"> 
$(document).ready(function() { 
    var ide = $("#reg"); 
    var log = $("#login"); 
    var reg = $("#register"); 
    var regfull = $("#regfull"); 
    reg.hide(); 
    regfull.hide(); 

    ide.click(function() { 
     log.fadeOut().delay(1000); 
     reg.show("slow"); 
    }); 
    function completereg() { 
     regfull.show(); 
    } 
}); 

這是我的jQuery和我想打電話給從後面按鈕onclick事件代碼completereg();和我的按鈕是UpdatePanel

回答

0

首先,你需要將你的功能$(document).ready()塊外:

$(document).ready(function() { 
    var ide = $("#reg"); 
    var log = $("#login"); 
    var reg = $("#register"); 
    var regfull = $("#regfull"); 
    reg.hide(); 
    regfull.hide(); 

    ide.click(function() { 
     log.fadeOut().delay(1000); 
     reg.show("slow"); 
    }); 
}); 

function completereg() { 
    $("#regfull").show(); 
} 

然後添加以下到$(document).ready()塊監聽點擊和執行completereg功能:

$(document).on('click','#idofbutton',function(event) { 
    completereg(); 
}); 

什麼on函數的作用是偵聽目標上的點擊(document)並檢查觸發器的id(#idofbutton)並執行該函數...這適用於尚未dded到DOM。 Documentation for on() here

在這種情況下,目標document應該是觸發元素的父元素 - 這實際上應該是一個包含div的元素。

+0

嗨,感謝但有事......當我jit按鈕是類型ajax,所以沒有document.ready,爲什麼我的方法傳遞我的代碼到litral不工作現在我怎麼可以得到jQuery在沒有document.ready事件發生時工作? – user1105338 2011-12-19 12:00:50

+0

@ user1105338請將您的HTML添加到您的問題,並添加您的所有JavaScript或更好創建一個http://jsfiddle.net/ – ManseUK 2011-12-19 14:59:49

相關問題