将参数传递给JQuery函数

jmp*_*ena 50 html javascript parameters jquery function

我正在使用一个包含Action列的循环创建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>
Run Code Online (Sandbox Code Playgroud)

我希望该函数使用正确的参数调用Ajax jQuery函数.

有帮助吗?

tva*_*son 86

使用POST

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

使用GET

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

编辑:

如果没有启用javascript,可能更好的方法(使用GET)可以生成href的URL,然后使用单击处理程序通过ajax调用该URL.

<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>
Run Code Online (Sandbox Code Playgroud)

  • 除了将TYPE更改为GET之外,您不必为GET更改任何内容.Querystring将自动构建. (2认同)

tan*_*hos 5

如果您想要执行 ajax 调用或简单的 javascript 函数,请不要忘记使用 return false 关闭函数

像这样:

function DoAction(id, name) 
{ 
    // your code
    return false;
}
Run Code Online (Sandbox Code Playgroud)