2011-09-11 17 views
1

jQueryを使用してマスターページ内のページgetUserAdDetails.aspx?PID=を呼び出しています。 ボタンのIDを動的に生成する必要があります...下のコードは正常に動作しますが、シングルクリックでは機能しません。代わりに、外部ページを読み込むためにボタンをダブルクリックする必要があります。解決策を見つける。私のコードをチェックしてください。もしも誰かがそれを修正できるのであれば、ありがたいです。jQueryイベントはシングルクリックで呼び出されるのではなく、ダブルクリックで呼び出されます。

私はまた、ボタンではなくリンクでも同じことをしようとすると、うまくいきません。 これは以下のコードを参照してくださいあなたのアイデア

<script type="text/javascript"> 
    function passPID(pid, psno) { 
     $(document).ready(function() { 
      $('#' + psno).html('<img src="images/ajax-loader-small.gif"/> Loading...'); 
      $('#' + pid).click(function() { 
        $('#' + psno).load("getUserAdDetails.aspx?PID=" + pid); 
      }); 
     }); 
    } 
</script> 

<input id='<%# Eval("ProductIDGUID")%>' type="button" value="View Details" onclick="passPID('<%# Eval("ProductIDGUID")%>', '<%# Eval("psno")%>')" class="btncss" /> 

答えて

2

変更スクリプト:あなたはあなたの関数内で、最初にクリックされたとき、あなたはそれにclickイベントリスナーを取り付けたので、それは、ダブルクリックで働いていた

function passPID(pid, psno) { 
    $('#' + psno) 
     .html('<img src="images/ajax-loader-small.gif"/> Loading...') 
     .load("getUserAdDetails.aspx?PID=" + pid); 
} 

素子。その後、2回目にクリックすると、このハンドラが実行されていました。ここで


$.slideUp$.slideDownアニメーションでのソリューションです:

function passPID(pid, psno) { 
    var $psno = $('#' + psno); 
    $psno.html('<img src="images/ajax-loader-small.gif"/> Loading...'); 
    $.get('getUserAdDetails.aspx?PID=' + pid, {} , function(html){ 
     $psno.slideUp(100, function(){ 
      $psno 
       .html(html) 
       .slideDown(); 
     }) 
    }, 'html'); 
} 
+0

あなたは私のヒーローです。ありがとうShef ...私は私が私がどのように私が「psno」とのdivがゆっくりと滑り落ちるように.slowまたは.toggle機能を追加することができるかということを私がアニメ化できるか教えていただければ幸いです。 'code' 機能passPID(PID、psno){ $( '#' + psno) .htmlを(」ロード........私が試したが、それは次のコードで作業をdidnot .. ')。 .slow(1000) .load( "getUserAdDetails.aspx?PID =" + pid); } 'code' – Student

+0

@Student:' $ .load() 'で行うことはできません。' $ .get() 'を使う必要があります。私は '$ .get()'と '$ .slideDown()'で解決策を投稿しています。 – Shef

+0

あなたの助けをもう一度お返事ありがとう私は同じコードが、私のために働いていない..それは何も表示されません.... – Student