Ах това byid на тоя AJAX/JS и аз незнам какво е :)

sentenello

Registered
Здравейте,
четох правих струвах и не можах да го скалапя деаа...

Това ми е AJAX-a
Код:
var otboraa = $("#otboraa").text();
така вземам текста който е в div с id otboraa
Проблема ми е, че div id=otboraa ми е в цикъл и го има няколко пъти. Искам да го вземам точно което съм кликнал.

Идеята ми е такава... изходния ми код на div-овете е този

Код:
<div id="otboraa">отбор1</div>
<a href="#">Вземи</a>
<div id="otboraa">отбор2</div>
<a href="#">Вземи</a>
<div id="otboraa">отбор3</div>
<a href="#">Вземи</a>

С този код за вземане дето имам в ajax скрипта винаги вземам най-горния див, а не по ИД(избрания). Ако може някой да ми каже как точно да направя, че да взема текста от определения div
 
Този код е изключително грешен. Не можеш да имаш повече от едно ID, това, което искаш да направиш трябва да стане с class. А иначе като пример, може да използваш click евента.

Код:
$(function({
$('.otboraa').click(function(){
var otboraa = $(this).text();
});
});
и HTML трябва да е така
Код:
<div class="otboraa">отбор1</div> 
<a href="#">Вземи</a> 
<div class="otboraa">отбор2</div> 
<a href="#">Вземи</a> 
<div class="otboraa">отбор3</div> 
<a href="#">Вземи</a>

но кода ще се активира при кликване върху дива, а не върху линка. Ако искаш линка да го активира, ще се наложи дива да стане негов родител (линка да влезе в дива), но така ще се промени и съдържанието, което взимаш.
 
miro_94 каза:
Този код е изключително грешен. Не можеш да имаш повече от едно ID, това, което искаш да направиш трябва да стане с class. А иначе като пример, може да използваш click евента.

Код:
$(function({
$('.otboraa').click(function(){
var otboraa = $(this).text();
});
});
и HTML трябва да е така
Код:
<div class="otboraa">отбор1</div> 
<a href="#">Вземи</a> 
<div class="otboraa">отбор2</div> 
<a href="#">Вземи</a> 
<div class="otboraa">отбор3</div> 
<a href="#">Вземи</a>

но кода ще се активира при кликване върху дива, а не върху линка. Ако искаш линка да го активира, ще се наложи дива да стане негов родител (линка да влезе в дива), но така ще се промени и съдържанието, което взимаш.

Знам, че е грешно да имам повече от 1 ИД, но просто се съветвах....
Въпреки всичко ти ми помогна доста. Сега се сетих че мога да вкарам функция във функцията. Като пробвам ще пиша :Д
 
@miro_94 сега пробвах и преди малко съм се объркал, не съм прочел правилно какво си написал. Искам при клик на Вземи да взема предходния му див който съдържа текста който ме интересува.
 
Значи ти искаш като цъкне на "Вземи" и да взима съдържанието от предходния див така ли ?
Код:
<div class="otbora">бла бла</div>
<a href="#" class="getIt">Вземи</a>
<div class="otbora">бла бла 2 </div>
<a href="#" class="getIt">Вземи 2</a>
<div class="otbora">бла бла 3</div>
<a href="#" class="getIt">Вземи 3</a>
<div class="otbora">бла бла 4</div>
<a href="#" class="getIt">Вземи 4</a>
<script>$('.getIt').click(function(){ alert( $(this).prev().text() ); }); </script>
 
Проблема ми е че между <a href="#">Вземи</a> и дива може да има част от таблица. Имам в предвид да е нещо такова кода.

<div class="otbora">бла бла</div>
<td>asdas</td>
<td>123123</td>
<a href="#" class="getIt">Вземи</a>

Има ли вариант да взема от предходния див и да сложа този линк "вземи" също в див?
F1r3Fl3x каза:
Значи ти искаш като цъкне на "Вземи" и да взима съдържанието от предходния див така ли ?
Код:
<div class="otbora">бла бла</div>
<a href="#" class="getIt">Вземи</a>
<div class="otbora">бла бла 2 </div>
<a href="#" class="getIt">Вземи 2</a>
<div class="otbora">бла бла 3</div>
<a href="#" class="getIt">Вземи 3</a>
<div class="otbora">бла бла 4</div>
<a href="#" class="getIt">Вземи 4</a>
<script>$('.getIt').click(function(){ alert( $(this).prev().text() ); }); </script>
 
Дай html кода около това "вземи" че така като даваш отрязъци няма как да ти го направим. И кажо ТОЧНО какво искаш да се взима и какво да се прави с него.
 
Scripta.
Код:
<script type="text/javascript">
	 $(function() {
	 $(".removeteam").click(function(){
				var otboraa = $(".otbor_ime").val();
				$("<img src='/football/registraciq/5-1.gif' id='loading' alt='loading' />").appendTo("#result");
				$.ajax({
					url: "../pyrvenstva/removeteamfan.php",
					type: "POST",
					data: { 'otboraa': otboraa},
					success: function(result){
						$("#teaminformation").show().html(result);
						}
				});
				return false;
			});
					});
	 </script>

ХТМЛ след изпълнението на пхп цикъла.
Код:
<table>
<tr>
<td><div class="otbor_ime>otbor1</div></td>
<td>informaciq otbor 1</td>
<td><a href="#" class="removeteam">Премахни</a></td>
</tr>
<tr>
<td><div class="otbor_ime>otbor2</div></td>
<td>informaciq otbor 2</td>
<td><a href="#" class="removeteam">Премахни</a></td>
</tr>
</table>

Искам при кликане на "Премахни" да взема текста който е между <div> с клас otbor_ime. Съотвенте ако кликна на първото "премахни" да взема otbor1, а ако кликна на долното да взема otbor2. Под взема имам предвид
Код:
var otboraa = $(".otbor_ime").val();
otboraa да присвоява стойноста на <div>-a от същия <tr> в който е и кликнато "премахни".

Малко се опетлах, но май успях да обясня какво точно искам да направя.
 
Ако го въртиш с цикъл ще е 1000 пъти по-лесно да добавяш и едно айди на елементите:
Код:
$i = 1;
while( $row = ... ){
//тук ти е кода за изваждане
$i++;
}
и с тази промелива $i е номерът на елемента, който се показва. Така на див-а и на линка задаваш поедно id => id="removeteam$i" и id="otbor_ime$i". След това си нагласяш кода така:
Код:
<script type="text/javascript">
    $(function() {
    $(".removeteam").click(function(e){
            var id = $(this).attr('id').replace('removeteam', ''); // взимаме removeteam1 и премахване removeteam, за да остане само 1
            var otboraa = $('#otbor_ime'+id).html(); //Взимаме съдържанието на див-а
            $("<img src='/football/registraciq/5-1.gif' id='loading' alt='loading' />").appendTo("#result");
            $.ajax({
               url: "../pyrvenstva/removeteamfan.php",
               type: "POST",
               data: { 'otboraa': otboraa},
               success: function(result){
                  $("#teaminformation").show().html(result);
                  }
            });
            e.preventDefault();
         });
               });
    </script>
Ако нещо не си разбрал, казвай :)
 
Не мога да разбера...
Код:
$(".removeteam").click(function(e){
            var id = $(this).attr('id').replace('removeteam', '');

Първо даваш като се кликне на клас-а removeteam (.removeteam), а след това вадиш от ид-то. Как така хем ще е с класс хем с ид ??

Помъчих се да го направя както си ми дал кода, но не успях.
 
Един елемент може да е с 1 айди и с 100 класа. Могат да се използват и двете едновременно. Не е проблем.
Този ред който не ти е ясен прави следното: Той взима поредният номер на изваденият елемент от таблицата. Нали елементите вървят по двойки: линк и div. Еми като кликнеш на линк с ID removeteam12, той ще извади съдържанието на div с ID otbora12 :)
 
F1r3Fl3x каза:
Един елемент може да е с 1 айди и с 100 класа. Могат да се използват и двете едновременно. Не е проблем.
Този ред който не ти е ясен прави следното: Той взима поредният номер на изваденият елемент от таблицата. Нали елементите вървят по двойки: линк и div. Еми като кликнеш на линк с ID removeteam12, той ще извади съдържанието на div с ID otbora12 :)

Благодаря ти. Проблема не е бил в скрипта,а в това че съм забравил да сменя във другия файл една променлива.
+1
 

Back
Горе