#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' }
});