2011-12-19 16 views
0

最初に私のシナリオについて説明します:コードビハインドとAjaxからJquery関数を呼び出す

私はユーザーがログインまたは登録するページを持っています。ログインコントロールとレジスタテキストボックスは2つの異なるdivにあり、jQueryを使用して1つを非表示にして別のものを表示します。

はその後registerのdivに私がScriptManagerUpdatePanelを持っており、その中に私が与えられたユーザ名がすでに選択されていないことを確認しcheckと呼ばれる私のボタンを、持っているコンテンツテンプレートです。 (私はポストバックが欲しくないので、そこに持っています)。ボタンイベントは、ユーザー名をチェックすると、それは私にすべての私の他のテキストボックスが含まれているdiv要素を示すために、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(); 
} 

クリックに対して聞くとcompletereg機能を実行するために$(document).ready()ブロックに次の行を追加します。

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

何on関数は、ターゲット(document)のクリックをリッスンし、トリガーのid(#idofbutton)をチェックしてfuncitonを実行します...これはまだDOMに追加されました。 Documentation for on() here

ターゲット(この場合はdocument)は、トリガー要素の親要素である必要があります。これは本当にコンテナdivである必要があります。

+0

こんにちは、ありがとうございます...私はタイプのAJAXであるので、私はコードをリトラルに渡すの私のmethordは今働いていない私はどのように私はjqueryを取得することができますdocument.readyイベントが発生していないときに動作するか? – user1105338

+0

@ user1105338質問にあなたのHTMLを追加し、あなたのすべてのjavascriptを追加するか、より良いhttp://jsfiddle.net/を作成してください – ManseUK

関連する問題