Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.06.2013, 20:00
Новичок на форуме
Отправить личное сообщение для reinq Посмотреть профиль Найти все сообщения от reinq
 
Регистрация: 17.06.2013
Сообщений: 3

Angular select attributes
Добрый день. Я решил разобраться с angular.js, но столкнулся с такой трудностью. Вот, например, есть форма, которая состоит из select-а и input. Select и input должны быть заполнены. При этом в зависимости от выбранного значения в select-e, меняется допустимое минимальное значение в input-e. И вот возникает вопрос, как получить атрибуты выбранного select-a, и как лучше связать их с атрибутом min input[name=total]? Спасибо.
P.S. Если что-то упустил, рад получить ссылку в документации или на статью. На данный момент ковыряю дерективы.
Пример:
<div class="deposit" ng-controller="formContrl">
    <form method="post" name="form_deposit">
      <select ng-model="valut" name="valut" required>
        <option value="1" min="10000">BYR</option>
       <option value="2" min="100">RUB</option>
       <option value="3" min="1">USD</option>      
      </select>
      <input type="number" name="total" value="" min="" required>
<span class="error" ng-show="form_deposit.total.$error.required || form_deposit.total.$error.number">!</span>
      <input type="button" name="ok" ng-disabled="!form_deposit.$valid" value="Пополнить баланс">
    </form>
  </div>

function formContrl($scope) 
    {
      $scope.valut = 3;
    }
Ответить с цитированием
  #2 (permalink)  
Старый 18.06.2013, 12:53
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Набросал пример влияния select на min в input.

<!doctype html>
<html ng-app>
  <head>
    <script src="http://code.angularjs.org/1.1.5/angular.min.js"></script>
    <script language="javascript" type="text/javascript">

      function СompCnt($scope) {        
        
        //опции формы
        var options={
              "1":{
                minsumm:1000
              },
              
              "2":{
                minsumm:2000
              },
              
              "3":{
                minsumm:3000
              }          
            };            
            
        //установим начальную сумму и валюту
        $scope.summ=0;
        $scope.valut=1;

        //будем слкшать переключение валюты
        $scope.$watch('valut',function(){
                $scope.cOpt=options[ $scope.valut ]            

                //если сумма меньше минимума то выставим сумму на допустимый минимум
                if ($scope.summ<$scope.cOpt.minsumm){
                    $scope.summ=$scope.cOpt.minsumm;
                }

        })
        
      }
    </script>
  </head>
  
  <body>
    <div ng-controller="СompCnt">            
      	
      Введите сумму: <input type="number" min="{{cOpt.minsumm}}" ng-model="summ">      	
      <select ng-model="valut" name="valut" required>
        	<option value="3" >BYR</option>
       		<option value="2" >RUB</option>
       		<option value="1" >USD</option>     
      </select>
      
    </div>                    
  </body>
</html>


Кстатии для создания select очень часто используется директива ng-options
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 18.06.2013 в 13:51.
Ответить с цитированием
  #3 (permalink)  
Старый 18.06.2013, 16:57
Новичок на форуме
Отправить личное сообщение для reinq Посмотреть профиль Найти все сообщения от reinq
 
Регистрация: 17.06.2013
Сообщений: 3

Спасибо за ответ. Тогда такой вопрос, на сколько этично использовать связку JQuery и AngularJs такого вида?
$scope.total=parseFloat($('.total').html());

<div class="total">1000</div>
Ответить с цитированием
  #4 (permalink)  
Старый 18.06.2013, 21:40
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Скорее всего в большинстве ситуаций значения в dom должны устанавливаться в контролах а не из DOM.

Но как знать, может для какойто ситуации установка значений из dom оправдана.

Ну допустим к нам с сервера приходит готовая страница, которую мы не можем поменять, а надо написать некую клиентскую логику поверх этой страницы. В таком случае самым простом способом будет получение данные извлечь из из самой страницы. Фактическии парсинг, всякое бывает.

Или ещё одна похожая ситуация. Страница должна обязательно индексироваться, но нам нужна клиентская логика Angular. Опять либо получать копию данных как на странице в формате json с сервера. Либо извлекать инфу из самой страницы, то бишь парсить.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 18.06.2013 в 22:02.
Ответить с цитированием
  #5 (permalink)  
Старый 19.06.2013, 11:26
Новичок на форуме
Отправить личное сообщение для reinq Посмотреть профиль Найти все сообщения от reinq
 
Регистрация: 17.06.2013
Сообщений: 3

Спасибо за ответы на вопросы! Было весьма полезно узнать мнение форумчан)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15
выбор в select Александр141 Элементы интерфейса 4 03.11.2012 13:53
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
заполнить select значениями другого select Central Элементы интерфейса 1 30.05.2009 14:41