@adun3

Обработка клика по текущему элементу класса?

Здравствуйте!
Есть куча ссылок с одинаковым классом, как навесить обработчик клика по текущему элементу?
т.е. чтобы при клике не происходила обработка всех ссылок.
$(".show-some").click(function(){
        $.post(' test.php',
            function(data) {
                $('.block').html(data);
            });
    });

.block - внутри блока .show-some
  • Вопрос задан
  • 235 просмотров
Решения вопроса 1
YumeReaver
@YumeReaver
Бургомистр
$(".show-some").click(function(){
        $.post(' test.php',
            function(data) {
                $(this).html(data);
            });
    });
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@kttotto
все, что .NET
Для кода $(".show-some").click() вы кликнули на все элементы, где есть класс show-some. Поэтому остается только проверять по дополнительным признакам: либо по каким то контейнерам, если они уникальные, либо добавлять во все эти элементы какие- то data-value="123".

Ну есть еще вариант
$(".show-some").each(function (index, value) { $(this).click(function(){ .... }))

Тогда у каждого show-some будет свой обработчик.
Ответ написан
Код ТС и в приведенном виде будет работать только один раз после нажатия на конкретную ссылку. Т.е. обработка всех ссылок происходить не будет. Ради интереса проверил.
<div class='block'></div>
<a href='#' class='show-some'>1</a><br>
<a href='#' class='show-some'>2</a><br>
<a href='#' class='show-some'>3</a><br>

ajax.js
$(".show-some").click(function(){
	var val = $( this ).text()
        $.post('ajax.test.php',
        {
        	val : val
        },
            function(data) {
                $('.block').html(data);
            });
    });

ajax.test.php :
<?php
$val = $_POST['val'];
echo $val ;
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы