Проблем с 1 ajax заявка

oveRLuckEd

Registered
Здравейте,
опитвам се да направя следната заявка: когато се натисне "Докладвай" на мястото му да излиза Докладвано, но срещнах следния проблем, когато имам повече от един бутон, взема данните само на първата заявка, пробвах с $(this) да го оправя, но нещо явно не го правя правилно, ето го кода:

[js]
$(document).ready(function(){
$("span#report").click(function(){
var test = $("#report2").val();
$("#loading").remove();
$(this).remove();
$("<img src='images/loader.gif' id='loading' alt='loading' />").appendTo("#result");
$.ajax({
url: "functions.inc.php",
type: "POST",
data: "report="+test,
success: function(result) {
$("#result").hide().html(result).fadeIn("slow");
$("#report3").hide();
}

});
return false;
});
});
[/js]

HTML:
<span id=\"report3\">
        <form method=\"POST\">
            <input type=\"hidden\" name=\"report2\" id=\"report2\" value=\"".$this->array['id']."\" />
            <span name=\"report\" id=\"report\">Докладвай</span>
        </form>
        </span>
        <span id=\"result\"></span>

Благодаря предварително на отзовалите се.
 
Ако всички бутони са ти span с id report разбира се че ще ти пуска само първата заявка по простата причина че id-то може да го ползваш един единствен път на страницата не напразно е id . Такаче ако го промениш да бъде class няма да имаш никакъв проблем.
 
Може ли да дадеш пример, че не съм много напреднал в jquery и не знам точно как ще стане?
 
HTML:
<span class="report_holder">
	<form method="POST">
		<input type="hidden" name="report2" id="report2" value=".$this->array['id']." />
		<span class="report">Докладвай</span>
	</form>
</span>
<span class="result"></span>

<span class="report_holder">
	<form method="POST">
		<input type="hidden" name="report3" id="report3" value=".$this->array['id']." />
		<span class="report">Докладвай</span>
	</form>
</span>
<span class="result"></span>

[js]
$(function(){
$("span.report").click(function(){
var test = $(this).parent('form').find('input:hidden').val();
$result = $(this).parent('.report_holder').next('.result');
$("#loading").remove();
$("<img src='images/loader.gif' id='loading' alt='loading' />").appendTo();
$(this).remove();
$.ajax({
url: "functions.inc.php",
type: "POST",
data: "report="+test,
success: function(result) {
$result.hide().html(result).fadeIn("slow");
}
});
return false;
});
});
[/js]

нещо такова
 

Back
Горе