Javascript 将参数传递给JQuery函数
我正在使用一个循环创建HTML,该循环有一列用于操作。那个专栏 是一个超链接,当用户单击时调用JavaScript 函数并传递参数 例如: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');"
<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>