2015-08-14 2 views
0

Когда я загрузить страницу, я хочу показать прогресс бар в поле таблицы, как это:Ширина обновления полосы выполнения при загрузке страницы?

<% @beacons.each do |beacon| %> 
... 
    <td><div id="progressbar" class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="10" 
     aria-valuemin="0" aria-valuemax="100" style="width:100%" ><%= beacon.power %>%</div></td> 

, но я не могу beacon.power обновить ширину в прогресс бар, мне не нужно в режиме реального времени обновления, я просто хочу, когда я загрузить эту страницу, ширина прогресс бар может использовать мой дб данные: beacon.power к desplay

мой сайт

IP/маяки

мой контроллер:

def index 
    @beacons = Beacon.all 

    respond_to do |format| 
     format.html { @beacons } 
     format.json { @beacons } 
    end 
    end 

Я пытаюсь использовать JavaScript:

$(document).ready(function() { 
    $.get("beacons.json", function(data){ 
     $("#progressbar").css('width', data.power+'%') 
    } 
    }); 
}); 

и он не работает, то, что случилось с моей установкой?

+1

Откуда вы знаете, что это не работает? Если есть сообщение об ошибке, добавьте его полный текст в свой вопрос. – EugZol

ответ

1

Я не верю, что jQuery автоматически анализирует возвращаемый JSON из метода $ .get. Я думаю, вам, вероятно, придется делать это вручную. как это ...

$(document).ready(function() { 
    $.get("beacons.json", function(data){ 
     parsedData = $.parseJSON(data); 
     $("#progressbar").css('width', parsedData.power + '%') 
    } 
    }); 
}); 
Смежные вопросы