2011-06-15 65 views
1

我有下面的代码,所以它不会让我的页面在每次提交时都会重新加载。Jquery - 多个选择器

我可以修改它,而不是提交选择器我使用name="value",并把多个值?

我需要这个,因为我已经提交了type="image"的按钮,所以我不能使用提交选择器。

例如如果我有名称= {nam1,nam2,nam3} 的按钮,如何更改此代码才能使页面在点击时不刷新?

$(".class123").click(function() { 
    var keyValues = { 
    pid : $(this).parent().find('input[name="pid"]').val(), 
    }; 
     $.post('help_scripts/cart_functions.php', keyValues, function(rsp) { 
     // make your php script return some xml or json that gives the result 
     // rsp will be the response 
     }); 
     return false; 
     // so the page doesn't POST 
}); 

在这一行 - 我需要有 -

pid : $(this).parent().find('input[name="pid"]').val(), 

pid是名字和我的第一个按钮的ID ......我怎么在这里添加更多的键值?

回答

4

我觉得你可以做逗号分隔的选择:

$(':submit').click(function() { 
    var keyValues = { 
    pid : $('input[name="nam1"],input[name="nam2"],input[name="nam3"]').val(), 
    }; 
     $.post('help_scripts/cart_functions.php', keyValues, function(rsp) { 
     // make your php script return some xml or json that gives the result 
     // rsp will be the response 
     }); 
     return false; 
     // so the page doesn't POST 
}); 

http://api.jquery.com/multiple-selector/

这就是说,它可能会更有意义的CSS类分配给您想拥有这个功能,或只是所有按钮选择所有按钮。

按钮选择:

$(":button") 

类选择:

$(".SubmitButton") 
+0

类听起来更好......我如何在代码中添加更多keyValues?我看到逗号分隔的名字,但有我的第一个按钮的名称...我会修改我的帖子来表达我所需要的东西,如果我使用类选择器。 – Pavlos1316 2011-06-15 19:05:13

+0

“我如何在代码中添加更多keyValues?” - 'var keyValues = {nam1:$(input [name =“nam1”).val(),nam2:$(input [name =“nam2”).val()... etc}' – daybreaker 2011-06-15 19:12:01

+0

定义keyValues,除去尾随的逗号,如果没有任何后续的逗号。如果你关心浏览器的兼容性,IE6(也许7)会窒息。 – daybreaker 2011-06-15 19:12:57

0

更改类型提交的只是一个普通的OLE香草<button>