将参数传递给JQuery函数

时间:2008-12-16 03:10:11

标签: javascript jquery html function parameters

我正在使用一个包含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>

我希望该函数能够正确调用Ajax jQuery函数 参数。

任何帮助?

5 个答案:

答案 0 :(得分:86)

使用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,然后使用点击处理程序通过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>

答案 1 :(得分:4)

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

像这样:

function DoAction(id, name) 
{ 
    // your code
    return false;
}

答案 2 :(得分:0)

是否要将参数传递给其他页面或仅传递给函数?

如果只是函数,则不需要添加$ .ajax()tvanfosson。只需添加您的功能内容即可。 像:

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

这将返回一个包含id和name值的警告框。

答案 3 :(得分:0)

尝试这样的事情

#vote_links a将捕获投票链接div id ...

内的所有ID
<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(){

答案 4 :(得分: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>

试试这个对我有用