Передача параметров функции JQuery
Я создаю HTML с циклом, у которого есть столбец для Action. Эта колонка
это гиперссылка, которая, когда пользователь нажимает на вызовы 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 с правильным
Параметры.
Любая помощь?
Ответы
Ответ 1
Использование 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 );
}
});
}
EDIT:
A, возможно, лучший способ сделать это, который будет работать (с использованием GET), если javascript не был включен, - это сгенерировать URL-адрес для href, а затем использовать обработчик кликов для вызова этого URL-адреса через ajax.
<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>
Ответ 2
Если вы хотите сделать вызов ajax или просто функцию javascript, не забудьте закрыть свою функцию с помощью return false
вот так:
function DoAction(id, name)
{
// your code
return false;
}
Ответ 3
Вы хотите передавать параметры только на другую страницу или только на функцию?
Если только функция, вам не нужно добавлять добавленный $.ajax() tvanfosson. Вместо этого просто добавьте свой контент.
Как:
function DoAction (id, name ) {
// ...
// do anything you want here
alert ("id: "+id+" - name: "+name);
//...
}
Это приведет к появлению окна с идентификаторами и именами.
Ответ 4
попробуйте что-то вроде этого
#vote_links a
поймает все идентификаторы внутри ссылок для голосования div 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(){
Ответ 5
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript">
function omtCallFromAjax(urlVariable)
{
alert("omt:"+urlVariable);
$("#omtDiv").load("omtt.php?"+urlVariable);
}
</script>
попробуй, это сработает для меня