保存后获取x-editable的更新值

时间:2015-12-24 15:12:56

标签: javascript jquery x-editable

我需要调用什么来获取x-editable返回的文本的更新值?有一个包含多个值的表,当更改时应该更改进度条的颜色。更改GroupCurrentHPi的文本值后,我想根据它的值更新进度条HPProgressBari的颜色。

我使用的是$(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"})}
    
}

});

1 个答案:

答案 0 :(得分:0)

你试过这个吗?

$('#GroupCurrentHP' + i).on('save', function(e, params) {             
  updateColor("#HPProgressBar" + i, params.newValue);
});