Форум программистов, компьютерный форум, киберфорум
Angular/AngularJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379

Установка оценки активному пользователю

11.11.2016, 16:40. Показов 1316. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как запоминать оценку активного пользователя, установленную с помощью слайдера

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<div ng-app="App" ng-controller="Students">
  <div class="col-md-4">     
     <ul><li ng-repeat="student in solutions">
       <input class="butt" ng-click="$parent.activeSol=student" type="button" value="{{student.username}}">
       </li></ul></div>
    
  <div class="col-md-8">
     <rzslider class="ocenka" rz-slider-model="priceSlider"></rzslider> <br> {{priceSlider}}<br>
   
  <textarea class="coded" ng-model="activeSol.code">{{student.code}}</textarea>
  </div>     
</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
angular.module("App", ['rzModule'])
.controller("Students", function($scope,$http)
{
  
    $scope.solutions = [{"username":"ИвановАА","code":"hsdgsahasgdgjadsada"},{"username":"sa","code":"вфывфывфыв"},{"username":"???????????","code":"1331-Username"},{"username":"1","code":"ДРАТУТИ)))"},{"username":"корчевойав","code":"123456"}];
  
  $scope.priceSlider=10;
  $scope.activeSol={};
  $http.get("http://192.168.3.36:3000/solutions").then(function(res)
  {   $scope.solutions = res.data;   });
  $http.post("http://192.168.3.36:3000/rate", {username:"ИвановАА", rating:"activeSol."}).then(function(res) {///  что писать в username и rating?
    // done !
      });
});
пробовала через localStorage и куки но ничего не получилось
Миниатюры
Установка оценки активному пользователю  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2016, 16:40
Ответы с готовыми решениями:

Установка оценки активному пользователю
Подскажите как запоминать оценку активного пользователя, установленную с помощью слайдера &lt;div ng-app=&quot;App&quot;...

Определить количество дней, в которых оценки меньше средней оценки по классу
в массиве записаны оценки по информатике 22 учеников класса. Определить количество дней, в которых меньше средней оценки по классу, и...

Обратиться к активному окну
Как обратиться к активному окну винды, получить координаты и изменить их?

7
19 / 19 / 12
Регистрация: 03.10.2016
Сообщений: 107
12.11.2016, 06:15
Что значит как?
У тебя есть массив объектов(solutions), в каждом объекте должно быть поле которое отражает рейтинг. Вот в нем и храни. Меняешь рейтинг - сохраняй на бэке.
Либо объясни подробнее чего тебе надобно.
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
13.11.2016, 14:25  [ТС]
я не понимаю как оценку из priceSlider (в HTML5) записать активному пользователю в массив ($scope.solutions) который записан в Javascript

это не работает
JavaScript
1
2
3
  $http.post("http://192.168.3.36:3000/rate", {username:"activeSol", rating:"priceSlider"}).then(function(res) {
    // done !  
      });
Добавлено через 1 час 51 минуту
пытаюсь при изменении значения слайдбара вызывать функцию и передавать id активного пользователя
HTML5
1
  <rzslider class="ocenka" rz-slider-model="priceSlider" data-ng-click="push(activeSol.id)"></rzslider> <br>{{activeSol.rating}}<br>
и уже в js активному пользователю менять оценку (rating) в массиве
JavaScript
1
2
$scope.push= function(){
  $scope.solutions[id].pop({rating:'priceSlider'});};
но ничего не происходит, или данные не передаются или код в js не работает
0
19 / 19 / 12
Регистрация: 03.10.2016
Сообщений: 107
14.11.2016, 16:44
В принципе понятно чего ты хочешь добиться но судя по коду ты слабо себе представляешь как это все работает.
У тебя должно быть несколько этапов:
1 загрузка твоих solutions (юзеров) с бэка
2 каким либо образом выделить/выбрать активного юзера
3 выбрать для него рейтинг priceSlider
4 сохранить данные по рейтингу для этого юзверя на бэке

Что я вижу в коде:
1 в solutions ты зачем то сетишь стаб.
JavaScript
1
$scope.solutions = [{"username":"ИвановАА","code":"hsdgsahasgdgjadsada"},{"username":"sa","code":"вфывфывфыв"},{"username":"???????????","code":"1331-Username"},{"username":"1","code":"ДРАТУТИ)))"},{"username":"корчевойав","code":"123456"}];
2 потом вроде логично
JavaScript
1
2
  $scope.priceSlider=10;
  $scope.activeSol={};
3 Потом сразу же делаешь запрос $http.get("http://192.168.3.36:3000/solutions") который возвращает список юзеров, сетишь уже наконец реальные данные $scope.solutions = res.data;

4 И сразу же делаешь сохранение данных, вот прям сразу. $http.post("http://192.168.3.36:3000/rate", {username:"ИвановАА", rating:"activeSol."}) И неважно что $http.get может отработать даже позже чем выполниться этот самый $http.post? Может стоить сохранять хотя бы уж по клику? Тогда хотя бы надежда будет что заработает.

5 И наконец этап с выбором активного юзера для которого есть переменная $scope.activeSol почему то в твоей логике пропущен, я вообще не вижу соответсвующего кода. Где ты юзера выбираешь?? При этом ты спрашиваешь: /// что писать в username и rating?
А вот пиши что то типо $http.post("http://192.168.3.36:3000/rate", {username:$scope.activeSol.username, rating:$scope.priceSlider}), только не забудь сначала засетить в $scope.activeSol этого самого активного юзера

Да и почитать доку о том слайдере который ты юзаешь тоже не мешало бы.
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
14.11.2016, 16:54  [ТС]
Angry_n_Hungry, касаемо 3 и 4 пунктов они работают только при подключении БД, сейчас задача сохранять данные в этот массив
JavaScript
1
2
3
4
5
scope.solutions = [{"id":"0","username":"ИвановАА","code":"hsdgsaha", "rating":""},
                        {"id":"1","username":"sa","code":"вфывфывфыв","rating":""},
                        {"id":"2","username":"???????????","code":"1331-Username", "rating":""},
                        {"id":"3","username":"1","code":"ДРАТУТИ)))", "rating":""},
                        {"id":"4","username":"корчевойав","code":"123456", "rating":""}];
Добавлено через 4 минуты
что это значит?

Кликните здесь для просмотра всего текста
засетить в $scope.activeSol этого самого активного юзера

почитать доку о том слайдере
0
19 / 19 / 12
Регистрация: 03.10.2016
Сообщений: 107
14.11.2016, 16:59
Во первых в браузере нажми волшебную кнопку F12 - это консоль разработчика.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
//Во вторых откуда возьмется id по которому ты пытаешься найти юзера?
$scope.push= function(){
  $scope.solutions[id].pop({rating:'priceSlider'});};
 
//наверное его надо в функцию хотяб передать:
$scope.push= function(id){
  $scope.solutions[id].pop({rating:'priceSlider'});};
 
//в третьих id - это индекс юзера в массиве $scope.solutions? Если нет то так ты юзера не найдешь
 
//в четвертых что это.pop({rating:'priceSlider'}) ? У меня серьезные опасения что ты не в курсе для чего он. Вот дока .pop({rating:'priceSlider'})
И в пятых сделай РАБОЧИЙ пример на codepen или jsfiddle иначе чувствую успеха не достигнем

Добавлено через 1 минуту
засетить в $scope.activeSol этого самого активного юзера - это значит то же что ты пытаешься сделать своей функцией push

почитать доку о том слайдере - а это, пока не важно. Лучше сделай рабочий пример
0
1 / 1 / 1
Регистрация: 14.05.2013
Сообщений: 379
14.11.2016, 17:00  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<div ng-app="App" ng-controller="Students">
  <div class="col-md-4">     
     <ul><li ng-repeat="student in solutions">
     <input class="butt" ng-click="chooseUser(student)" type="button" value="{{student.username+student.ip}}">   
       </li></ul></div>
    
  <div class="col-md-8">
     <rzslider class="ocenka" rz-slider-model="priceSlider" data-ng-click="setRating()" rz-slider-options="options" ng-show="activeSol.username"></rzslider> <br>{{activeSol.rating}}<br>
    
  <textarea class="coded" ng-model="activeSol.code"></textarea>
  </div>     
</div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
angular.module("App", ['rzModule'])
.controller("Students", function($scope,$http)
{
  $scope.priceSlider=15;
  $scope.activeSol={};
  $http.get("http://192.168.3.36:3000/solutions").then(function(res)
   {$scope.solutions = res.data;});
   /*$scope.solutions = [{"username":"sa","code":"dasda","ip":["::ffff:192.168.3.36"],"rating":15},{"username":"чигинцевалв","code":"using System;\r\nusing System.Collections.;\r\ Convert.ToInt32(a);\r\n            c = a - bй\eadKey();\r\n\r\n        }\r\n        static void Main(string[] args)}\r\n","ip":["::ffff:192.168.3.8"],"rating":15},{"username":"мезенцевасд","code":"static void DoubleToMoney(double value)\r\n  {\r\n DoubleToMoney(54.45);","ip":["::ffff:192.168.3.3"],"rating":3},{"username":"ЧечушковИС","code":"using  extension = Path.GetExtension(path);\r\n            Console.WriteLine("GetExtension('{0}') returns ('{1}') ",\r\n            Filename, extension);\r\n            Convert.ToBoolean(extension);\r\n            if (extension = ("jpg", "png", "tiff", "bmp", "gif", "psd", "ai", "svg");\r\n else Console.WriteLine("Данный файл не является изображением");\r\n\r\n\r\n            Console.ReadKey();","ip":["::ffff:192.168.3.17"]}];*/
    $scope.chooseUser = function(user){$scope.activeSol = user;};
    $scope.options={floor:0, ceil:15};
    $scope.setRating= function(){
    $scope.activeSol.rating = $scope.priceSlider;
    $http.post("http://192.168.3.36:3000/rate", {username: $scope.activeSol.username,
                rating:$scope.priceSlider}).then(function(res){});   
    };
  
   var mas = $scope.activeSol.ip;
   // var ip = mas.split(':');
});

Песочница: https://codepen.io/NataliyaB/p... itors=1010
0
19 / 19 / 12
Регистрация: 03.10.2016
Сообщений: 107
14.11.2016, 17:33
Лучший ответ Сообщение было отмечено Эмили как решение

Решение

Вот, надеюсь все будет понятно:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
<div ng-app="App" ng-controller="Students" id=app>
  <div class="col-md-4">     
     <ul>
       <li ng-repeat="student in solutions">
       <input class="butt" ng-click="chooseUser(student)" type="button" value="{{student.username}}">
       </li></ul></div>
    
  <div class="col-md-8">
     <rzslider class="ocenka" rz-slider-model="priceSlider" data-ng-click="setRatingToActiveUser()"></rzslider> <br>{{activeSol.rating}}<br>
    
  <textarea class="coded" ng-model="activeSol.code"></textarea>
  </div>     
</div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.butt{
  height:30px;
  width:150px;
  margin:5px;
  border-radius:5px;
}
.coded{
  height:450px;
  width:600px;
  margin-top:20px;
  border-radius:5px;
}
ul{margin-top:20px;}
li{color:#272b30;}
.ocenka{
  width:600px;
  margin-top:40px;
  margin-bottom:20px;
}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
angular.module("App", ['rzModule'])
.controller("Students", function($scope,$http)
{
  $scope.priceSlider=10;
  $scope.activeSol={};
  $scope.solutions = [{"id":"0","username":"ИвановАА","code":"hsdgsaha", "rating":""},
                        {"id":"1","username":"sa","code":"вфывфывфыв","rating":""},
                        {"id":"2","username":"???????????","code":"1331-Username", "rating":"10"},
                        {"id":"3","username":"1","code":"ДРАТУТИ)))", "rating":""},
                        {"id":"4","username":"корчевойав","code":"123456", "rating":""}];
 
  // $http.get("http://192.168.3.36:3000/solutions").then(function(res)
  // {   $scope.solutions = res.data;   });
 
  
  $scope.chooseUser = function(user) {
      $scope.activeSol = user;
  };
  
  $scope.setRatingToActiveUser= function(){
    if(!$scope.activeSol.id) {
      alert("Сначала вы должны выбрать юзера!");
      return;
    }
    //тебе не надо искать активного юзера в solutions по id, в этом нет смысла, он у тебя и так в $scope.activeSol лежит. Поэтому мы ему просто засетим рейтинг:
    $scope.activeSol.rating = $scope.priceSlider;
 
    /*
    Что бы сохранить на бэке раскомментируй это
    $http.post("http://192.168.3.36:3000/rate",
               {username: $scope.activeSol.username,
                rating:$scope.priceSlider})
      .then(function(res) {
      alert("Операция Выполнена успешно!")
    }); 
    */
  };
});
Песочница: https://codepen.io/anon/pen/rWLOZe?editors=1111
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.11.2016, 17:33
Помогаю со студенческими работами здесь

Несколько вопросов по активному RC-фильтру...
&quot;Активный фильтр резонанса салона на полевом и биполярном транзисторе&quot; Вот сама схема: http://www.radiosait.ru/page_908.html Вопрос...

Получить путь к активному каталогу
Всем привет! Возник такой вопрос: как получить путь к активному каталогу на шарпе? Т.е. я открываю папку, в текстбокс записывался полный...

Можно ли на C# обратиться к активному документу?
Можно ли на с# обратиться к активному документу Word, открытому в данные момент на редактирование из другой программы?

Добавление класса к активному input
Добрый день. Не получается добавить класс для input (только для одного input на который нажали). &lt;?php echo '&lt;div...

Подключение к активному документу Word
Пытаюсь подключиться к активному документу, получается странная ерунда. Есть программа, которая делает разные действия в Ворде, вроде...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru