2015-04-19 3 views
0

Я пытаюсь обновить активную/приостановленную кнопку с помощью AJAX и jQuery после того, как пользователь нажал кнопку «suspend» -> Мне нужно изменить статус на «Приостановленный» + активная кнопка.jQuery .append() не работает

После того, как пользователь нажал на кнопку «active» -> Я изменил статус на кнопку «Активировано» + приостановить.

Вот HTML/PHP код:

Статус:

<?php 
if($row['active']==2) // 2 = Suspended 
{ 
?> 
    <span id="status<?php echo $row['id']; ?>">Suspended 
     <button type="button" class="active-button" value="<?php echo $row['id']; ?>">active</button> 
    </span> 
<?php 
} 
else if($row['active']==1) // 1 = Activated 
{ 
?> 
    <span id="status<?php echo $row['id']; ?>">Activated 
     <button type="button" class="suspend-button" value="<?php echo $row['id']; ?>">suspend</button> 
    </span> 
<?php 
} 
?> 

Это код JQuery/AJAX:

$(function() { 
    $('.active-button').click(function(){ 
     var add_active = 1; 
     var add_id = $(this).val(); 
     var status = "#status"+add_id; 
     $(status).text('Loading...'); 

     $.post('active.php',{id: add_id, active: add_active}, function(){ 
      $(status).html("").append("Suspended <button type='button' class='active-button' value="+add_id+">active</button>"); 
     }); 
    }); 

    $('.suspend-button').click(function(){ 
     var add_active = 2; 
     var add_id = $(this).val(); 
     var status = "#status"+add_id; 
     $(status).text('Loading...'); 

     $.post('active.php',{id: add_id, active: add_active}, function(){ 
      $(status).html("").append("Activated <button type='button' class='suspend-button' value="+add_id+">suspend</button>"); 
     }); 
    }); 
}); 

Но проблема в том, что продолжительность "статус" не изменяется (в БД он хорошо работает).

Я почти уверен, что проблема в этой строке:

$.post('active.php',{id: add_id, active: add_active}, function(){ 
    $(status).html("").append("Activated <button type='button' class='suspend-button' value="+add_id+">suspend</button>"); 
}); 
+0

ли эти кнопки внутри формы? – Barmar

+0

Нет, формы нет. –

+0

Не решение, просто FYI: '.html (" "). Append (foo)' может быть выполнено как .html (foo) '. – Barmar

ответ

0

Изменение этой линии

$(status).html("").append("Activated <button type='button' class='suspend-button' value="+add_id+">suspend</button>"); 

в

$(status).html("").append("Activated <button type='button' class='suspend-button' value='" + add_id + "'>suspend</button>"); 
+1

Хотя это хорошая идея, чтобы помещать кавычки вокруг атрибутов, это не изменит ситуацию, если 'add_id' не содержит пробел или другие специальные символы. – Barmar

+0

Как сказал Бармар - это тот же эффект. –

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