2014-12-22 3 views
0

Для моего проекта я хочу добавить кнопку, которая изменяется при щелчке и сохраняет данные с помощью функции post. Кнопка:Добавьте значение к кнопке для функции jquery

<button 
    class="btn btn-primary favorit-btn2" 
    type="button" > 

добавить кнопки в цикле, при добавлении кнопки я могу добавить значение идентификатора с $ кнопку-> идентификатор

то, что я хочу добавить идентификатор из цикла в кнопка, поэтому, когда я нажимаю кнопку, я могу использовать значение id в функции.

моя функция выглядит следующим образом:

$(function() 
{ 
    $(".favorit-btn2").click(function() 
    {   
     if ($(this).hasClass("favorit-btn2")) 
     { 
      $(this).removeClass('btn-primary').addClass('btn-success'); 
     } 
     else 
     { 
      $(this).removeClass('btn-success').addClass('btn-primary'); 
     }  

     // DO SOMETHING WITH THE ID 
    }); 
}); 

Я думал о добавлении OnClick = «MYFUNCTION ($ idvalue)» на кнопку, но что бы сделать это не представляется возможным использовать $ (это) селектор.

Я предпочитаю не добавлять его как id = "$ idvalue" к каждой кнопке из-за причин css, кажется странным добавлять атрибут id к кнопке только для сохранения значения. Мой вопрос: где я должен добавить значение id к кнопке, чтобы я мог использовать его в моей функции щелчка?

ответ

2

Попробуйте это:

Вы можете использовать .data() функцию jQuery, чтобы получить значение атрибута данных элемента.

Example

<button 
    class="btn btn-primary favorit-btn2" 
    data-id="1" 
    type="button" > 

$(function() { 
    $(".favorit-btn2").click(function() { 
     if ($(this).hasClass("favorit-btn2")) { 
      $(this).removeClass('btn-primary').addClass('btn-success'); 
     } else { 
      $(this).removeClass('btn-success').addClass('btn-primary'); 
     } 

     // DO SOMETHING WITH THE ID 
     var id = $(this).data("id"); 
     alert(id); 
    }); 
}); 
+0

я, а не добавить его в качестве идентификатора по причинам CSS. Мне не нравится идея каждой кнопки с уникальным идентификатором –

+1

проверить обновленный ответ –