2015-12-24 3 views
0

Что мне нужно для вызова, чтобы получить обновленное значение текста, возвращаемого x-editable? Существует таблица с многочисленными значениями, которые при изменении должны затем менять цвет индикатора выполнения. После изменения текстового значения GroupCurrentHPi я хочу обновить цвет индикатора выполнения HPProgressBari на основе его значения.Получить обновленное значение x-editable после сохранения

Я использовал $ (this) .text(), но это похоже только на захват значения перед изменением, а не после изменения.

$(document).ready(function() {  
 
    
 
    $('#GroupUserData').DataTable(); 
 
    
 
    $.fn.editable.defaults.mode = 'popup';      
 
    $.fn.editable.defaults.url = 'Post.php';    
 
    $.fn.editable.defaults.responseTime = 200;     
 

 
    var GroupMembers = document.getElementById("GROUPCOUNTVAL").value; 
 

 
    if (GroupMembers>0) { 
 
     for (i = 0; i < GroupMembers; i++) { 
 
      $('#GroupCurrentHP' + i).editable({ 
 
       name: 'selected_hp'     
 
      }); 
 
      
 
      $('#GroupCurrentHP' + i).on('save', function(e, params) {    
 
       updateColor("#HPProgressBar" + i,$(this).text()); 
 
      });    
 
     } 
 
    } 
 
    
 
function updateColor(progressBar, value){ 
 
    
 
    if(value > 100) {value = 100} 
 
    if (value == 100) {$(progressBar).css({'background-color': "#006600"})} 
 
    if ((value > 75) && (value < 100)) {$(progressBar).css({'background-color': "#4dff4d"})}  
 
    if ((value > 50) && (value < 75)) {$(progressBar).css({'background-color': "#FA6539"})}  
 
    if ((value > 25) && (value < 50)) {$(progressBar).css({'background-color': "#F6A942"})}  
 
    if ((value > 0) && (value < 25)) {$(progressBar).css({'background-color': "#CF6363"})}  
 
    if (value < 0) {$(progressBar).css({'background-color': "#FF0000"})} 
 
    
 
} 
 

 
});

+0

Какова ценность 'c', что вы переходите к' updateColor'? Я не вижу, чтобы его устанавливали где угодно. –

+0

Извините, у меня должна быть надпись над кодом, она должна быть, $ (this) .text(). Я обновил сообщение. –

+0

Спасибо. Этот код работает только один раз на '$ (document) .ready', вы называете' updateColor() 'где-либо еще в коде? –

ответ

0

Пробовали ли вы это?

$('#GroupCurrentHP' + i).on('save', function(e, params) {    
    updateColor("#HPProgressBar" + i, params.newValue); 
}); 
Смежные вопросы