2015-03-05 2 views
1

У меня есть код JQueryЕсть много кнопки не работает АЯКС

function addtocart(id,gia,ten) { 
 
    var dataString = "id_product=" + id + "&price_product=" + gia + "&name_product="+ten;; 
 
    var sum=<?php echo $this->cart->total(); ?>; 
 
    $.ajax({ 
 
    type: "POST", 
 
    url: "/cart/addtocart.html", 
 
    data: dataString, 
 

 
    success: function(response) 
 
    { 
 
     $("#sum").val(sum); 
 
     
 
    } 
 

 
    }); 
 
} 
 
and 2 button:
<button id="addtocart" onclick="addtocart('2314','44','button1')" >button 1</button> 
 
<button id="addtocart" onclick="addtocart('2424','4234','button2')" > 
 
button2</button>
Так кнопка 1 рабочих нормально, кнопка 2 не работает Пожалуйста, помогите мне спасибо большого

+3

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

+0

спасибо, я меняю другой идентификатор, но не работаю –

+0

Вы положили console.log и проверяете, вызвана ли ваша функция или нет? или ваш апи звонит или нет? Независимо от того, отвечает ли ответ ура в результате успешного обратного вызова или есть ли какая-либо ошибка в ответе. ? – Nielarshi

ответ

1

Вы должны положить diffidid, поскольку идентификатор уникален, используйте атрибут класса.

+0

спасибо, я меняю другой идентификатор, но не работаю –

+0

Пожалуйста, дайте мне пример mutiple button ajax. спасибо вам за помощь –

+1

Попробуйте использовать функцию 'click()' jquery, проверьте http://forums.whirlpool.net.au/archive/1422242 – leotesta

0
  1. Вы не можете назвать имя функции таким же, как один из элементов атрибута id на своей странице.
  2. id уникален для страницы, если вы хотите указать одинаковые идентификаторы для группы элементов, то вы определяете атрибут class.
  3. Вы можете сделать это более читаемым способом.

Пробуйте этот код.

JSFiddle

HTML:

<button id="button1" data-id="2314" data-gia="44" data-ten="button1">button 1</button> 
<button id="button2" data-id="2424" data-gia="4234" data-ten="button2"> 
button2</button> 

JS:

function addtocart(id,gia,ten) { 

    var dataString = "id_product=" + id + "&price_product=" + gia + "&name_product="+ten;; 
    var sum = <?php echo $this->cart->total(); ?>; 

    $.ajax({ 

     type: "POST", 
     url: "/cart/addtocart.html", 
     data: dataString, 

     success: function(response) 
     { 
      $("#sum").val(sum); 

     } 
    }); 
} 

$(document).on('click', '#button1, #button2', function(){ 

    addtocart($(this).data('id'), $(this).data('gia'), $(this).data('ten')); 
}); 
Смежные вопросы