53

アクションの列を持つループを使用して HTML を作成しています。その列は、ユーザーがクリックすると JavaScript 関数を呼び出してパラメーターを渡すハイパーリンクです...

例:

<a href="#" OnClick="DoAction(1,'Jose');" > Click </a>
<a href="#" OnClick="DoAction(2,'Juan');" > Click </a>
<a href="#" OnClick="DoAction(3,'Pedro');" > Click </a>
...
<a href="#" OnClick="DoAction(n,'xxx');" > Click </a>

その関数で、正しいパラメーターを使用して Ajax jQuery 関数を呼び出す必要があります。

何か助けはありますか?

4

5 に答える 5

93

POST の使用

function DoAction( id, name )
{
    $.ajax({
         type: "POST",
         url: "someurl.php",
         data: "id=" + id + "&name=" + name,
         success: function(msg){
                     alert( "Data Saved: " + msg );
                  }
    });
}

GET の使用

function DoAction( id, name )
{
     $.ajax({
          type: "GET",
          url: "someurl.php",
          data: "id=" + id + "&name=" + name,
          success: function(msg){
                     alert( "Data Saved: " + msg );
                   }
     });
}

編集:

おそらく、javascript が有効になっていない場合に (GET を使用して) これを行うためのより良い方法は、href の URL を生成し、代わりにクリック ハンドラーを使用してその URL を ajax 経由で呼び出すことです。

<a href="/someurl.php?id=1&name=Jose" class="ajax-link"> Click </a>
<a href="/someurl.php?id=2&name=Juan" class="ajax-link"> Click </a>
<a href="/someurl.php?id=3&name=Pedro" class="ajax-link"> Click </a>
...
<a href="/someurl.php?id=n&name=xxx" class="ajax-link"> Click </a>

<script type="text/javascript">
$(function() {
   $('.ajax-link').click( function() {
         $.get( $(this).attr('href'), function(msg) {
              alert( "Data Saved: " + msg );
         });
         return false; // don't follow the link!
   });
});
</script>
于 2008-12-16T03:31:09.933 に答える
5

ajax 呼び出しまたは単純な JavaScript 関数を実行する場合は、false を返して関数を閉じることを忘れないでください。

このような:

function DoAction(id, name) 
{ 
    // your code
    return false;
}
于 2009-01-05T16:57:42.743 に答える
0

このようなことを試してください

#vote_links a投票リンク内のすべてのIDをキャッチしますdivid..。

<script type="text/javascript">

  jQuery(document).ready(function() {
  jQuery(\'#vote_links a\').click(function() {// alert(\'vote clicked\');
    var det = jQuery(this).get(0).id.split("-");// alert(jQuery(this).get(0).id);
    var votes_id = det[0];


   $("#about-button").css({
    opacity: 0.3
   });
   $("#contact-button").css({
    opacity: 0.3
   });

   $("#page-wrap div.button").click(function(){
于 2010-01-17T22:37:11.980 に答える
0
<script type="text/javascript" src="jquery.js">
</script>

 <script type="text/javascript">

  function omtCallFromAjax(urlVariable)
{ 
    alert("omt:"+urlVariable);
     $("#omtDiv").load("omtt.php?"+urlVariable);
}

 </script>

これを試してみてください

于 2011-12-18T10:41:27.010 に答える
0

パラメータを別のページに渡しますか、それとも関数のみに渡しますか?

関数だけなら、$.ajax() tvanfosson を追加する必要はありません。代わりに関数コンテンツを追加してください。お気に入り:

function DoAction (id, name ) {
    // ...
    // do anything you want here
    alert ("id: "+id+" - name: "+name);
    //...
}

これにより、id と name の値を含む警告ボックスが返されます。

于 2008-12-16T23:19:27.617 に答える