2013-09-23 7 views
-1

Я делаю карту наведения на клик для каждого пользователя, поэтому я сделал это для одного и его работу, но я хочу, чтобы это работало на каждого пользователя, так как я дал им уникальный заголовок и на основании этого сервера получат данные этих конкретных пользователей, но проблема в том, что это работает только с 1 ссылкой не для всех ссылок ... возможно, потому что данные var хранятся в хранилище (пожалуйста, поправьте меня, если я ошибаюсь), поэтому я попытался сделать это на ajax cache: false но не помогло, тогда я попробовал return false;, return data; все еще не используется.Получение ошибки при удалении данных var

Итак, вот пользователи ссылки пример:

<a class="hover" title="user101" href="#">John</a> 
<a class="hover" title="user102" href="#">Tonya</a> 

Ajax:

$(document).ready(function() { 
    $.ajaxSetup({ 
     cache: false 
    }); 
    $('.hover').click(function() { 
     var get_val = $('.hover').attr('title'); 
     var data = 'vall=' + get_val + ''; 
     $.ajax({ 
      type: 'POST', 
      url: 'xx.php', 
      data: data, 
      success: function (data) { 
       box.dialog({ 
        message: data 
       }); 
       return false; 
      } 
     }); 
    }); 
}); 
+5

идентификатор элементов должен быть уникальным .... использование класса для группы сходных элементов –

+0

Вы хотите сказать, класс = "парить"? – Styli

+0

У вас есть опечатка на свой атрибут 'title': Two 't's'' tittle = "user101" ' – kunalbhat

ответ

0

Я сделал бы это таким образом.

HTML

<div class='links'> 
    <a title="user101" href="#">John</a> 
    <a title="user102" href="#">Tonya</a> 
</div> 

JS

$(document).ready(function() { 
    $.ajaxSetup({ 
    cache: false 
    }); 
    $('.links').on('click', 'a', function (event) { 
    event.preventDefault(); 

    var get_val = $(this).prop('title'); 
    $.ajax({ 
     type: 'POST', 
     url: 'xx.php', 
     data: {vall: get_val}, 
     success: function (data) { 
      box.dialog({ 
       message: data 
      }); 
     } 
    }); 
    }); 
}); 
+0

Правильно его отредактируйте Влад – Styli

+0

Удивительное кодирование. :) – Styli

+0

Работаю 100% :) вы безопасно меня бросили – Styli

0

проблема это работает только на 1 ссылки не для всех ссылок ... может быть потому что данные var хранятся в магазине (пожалуйста, исправьте меня, если я ошибаюсь)

вы ошибаетесь .. только 1 li nks работает, у вас одинаковый идентификатор для нескольких элементов. Каждый элемент должен иметь уникальный идентификатор.

использовать класс вместо

<a class="hover" title="user101" href="#">John</a> 
<a class="hover" title="user102" href="#">Tonya</a> 

и селектор класса и возвращают ложные после АЯКС функции успех обратного вызова, в конце

$('.hover').click(function() { 
    var get_val = $('.hover').attr('title'); 
    .... 
    $.ajax({ 
     .... 
     success:function(){ 
      .... 
      } 
    }); 
    return false; 
    .. 

или просто использовать preventDefault() вместо возвращения ложной

$('.hover').click(function (e) { 
    e.preventDefault(); 
    var get_val = $('.hover').attr('title'); 
    ..... 
+0

Он по-прежнему не работает, я получаю то же значение от ajax-звонка – Styli

+0

обновлено проверить это – bipen

+0

Вы должны используйте event.preventDefault() вместо return false. – Vlad

Смежные вопросы