Javascript 将参数传递给JQuery函数

Javascript 将参数传递给JQuery函数,javascript,jquery,html,function,parameters,Javascript,Jquery,Html,Function,Parameters,我正在使用一个循环创建HTML,该循环有一列用于操作。那个专栏 是一个超链接,当用户单击时调用JavaScript 函数并传递参数 例如: <a href="#" OnClick="DoAction(1,'Jose');" > Click </a> <a href="#" OnClick="DoAction(2,'Juan');" > Click </a> <a href="#" OnClick="DoAction(3,'Pedro');"

我正在使用一个循环创建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>

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

有什么帮助吗?

使用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 );
                   }
     });
}
编辑:

A、 如果没有启用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>

...
$(函数(){
$('.ajax链接')。单击(函数(){
$.get($(this.attr('href'),函数(msg){
警报(“保存的数据:“+msg”);
});
return false;//不要跟随链接!
});
});

要将参数传递到另一页还是只传递到函数

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


这将返回一个带有id和name值的警报框。

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

像这样:

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

试试这样的

#投票链接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(){

jQuery(文档).ready(函数(){
jQuery(\'\'vote\'u links a\')。单击(函数(){//alert(\'vote clicked\');
var det=jQuery(this.get(0.id.split)(“-”);//警报(jQuery(this.get(0.id));
var票数=det[0];
$(“#关于按钮”).css({
不透明度:0.3
});
$(“#联系人按钮”).css({
不透明度:0.3
});
$(“#换页div.button”)。单击(函数(){

函数omtCallFromAjax(urlVariable)
{ 
警报(“omt:+URL变量”);
$(“#omtDiv”).load(“omtt.php?”+urlVariable);
}

试试这个,它对我有用

除了将类型更改为GET之外,您不必更改GET的任何内容。Querystring将自动生成。@Pim--更新,谢谢。我写这篇文章时对jQuery还是相当陌生的。如果您想向URL传递多个参数,请使用数据作为数据:{id:'123',name:“MyName”}其中123是参数id的值myName是参数名称的值此处的值可以是字符串或具有要传递的值的变量。这只是一个避免字符串串联的简单技巧。我觉得这个公认的答案非常好,但我不禁想知道,在jQuery I中完成的onClick绑定会是什么样子nstead of right in the tags?我被引导相信jQuery也要处理事件绑定。@Marcus-我实际要做的是将URL生成为href属性。然后我会添加一个单击处理程序,从锚的href元素获取URL,并通过ajax发布/获取,从单击处理程序返回false。我可以添加一个这是另一种选择。
<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(){
<script type="text/javascript" src="jquery.js">
</script>

 <script type="text/javascript">

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

 </script>