Звездный рейтинг начальной загрузки с динамическим источником данных в asp .net

#javascript #jquery #asp.net #twitter-bootstrap-3

#javascript #jquery #asp.net #twitter-bootstrap-3

Вопрос:

Я использую звездный рейтинг начальной загрузки и загружаю плагин по следующему URL,

https://github.com/kartik-v/bootstrap-star-rating

Он работает нормально.. Но я хочу динамически изменять источник данных.

  $('#input-1').rating({
                    step: 1,
                    size: 'xs',
                    starCaptions: { 1: 'Poor', 2: 'Can Improve', 3: 'Satisfying', 4: 'Great Work', 5: 'Impressed' },
                    starCaptionClasses: { 1: 'text-danger', 2: 'text-warning', 3: 'text-info', 4: 'text-primary', 5: 'text-success' }
                });
  

StarCaptions amp; StarCaptionClass необходимо динамически изменять..

Ему нужно назначить из переменной Javascript или что-нибудь еще ..?

Любой может мне помочь..

Комментарии:

1. Единственное, что вы могли бы сделать, это заново инициализировать компонент звездного рейтинга с вашим новым источником данных заново!

2. @DimalChandrasiri. Хорошо, но как назначить источник данных «starCaption» динамически ..?

Ответ №1:

starCaptions и StarCaptionClass — это объекты JSON, передаваемые в функцию, которые могут быть переданы с серверного языка, такого как PHP, например, где с помощью функции json_encode($array) вы можете получить строку json из переменной php.

Например, на вашем уровне кода:

 <script>
  var starCaptionsVar  = JSON.parse('<?php echo $jsonString; ?>');
  var starCaptionClassesVar  = JSON.parse('<?php echo $jsonString2; ?>'); 

  // then you can pass it to the  rating
  $('#input-1').rating({
                    step: 1,
                    size: 'xs',
                    starCaptions:starCaptionsVar ,
                    starCaptionClasses: starCaptionClassesVar);
</script>
  

Комментарии:

1. Я не очень разбираюсь в asp, но это та же концепция, что и их API для преобразования объектов в строку json

2. хорошо .. Какой формат строки в PHP. Например.. jsonString =»1: Плохой, 2: улучшить»

3. нет, это тот же формат объекта JSON, но в виде строковой переменной, например: jsonString="{ 1: 'Poor', 2: 'Can Improve', 3: 'Satisfying', 4: 'Great Work', 5: 'Impressed' }";

4. Работает нормально .. <% Dim Dummy1 As String =»{ 1: ‘Плохо’, 2: ‘Можно улучшить’, 3: ‘Удовлетворительно’, 4: ‘Отличная работа’, 5: ‘Впечатлен’ }» %> Подписи к звездам: <%= Dummy1 %>,

Ответ №2:

Следующий код работает нормально.. JSON Преобразование не требуется.

VB-код :

 <% Dim Dummy As String ="{ 1: 'Poor', 2: 'Can Improve', 3: 'Satisfying', 4: 'Great Work', 5: 'Impressed' }" %> 
  

Код Javascript :

 $('#input-1').rating({
    step: 1,
        size: 'xs',
        starCaptions: <%= Dummy %>,
        starCaptionClasses: { 1: 'text-danger', 2: 'text-warning', 3: 'text-info', 4: 'text-primary', 5: 'text-success' }
});