Как получить значение ng-модели из materialize с помощью AngularJS?

#angularjs #materialize

#angularjs #материализовать

Вопрос:

Когда я набираю текст в поиске, данные будут фильтроваться, и когда я выбираю соответствующее значение в radiobutton, оно будет выбрано в текстовом поле поиска, но оно не будет работать

 <div class="row">
 <div class="row">
   <div class="input-field col s12">
     <input id="search" class="search nomargin" type="text" class="validate dark" ng-model="search">
   <label for="search"><i class="fa fa-search" aria-hidden="true"></i> Search Player</label>
 </div>
 </div>

     <div class="searchresultsbox z-depth-1">
       <div class="row nopad nomargin">
     <div class="col s12 nopad nomargin">
            <ul ng-repeat="eachPlayer in user |filter:search">
            <li><input name="rdbRisk" type="radio" id="rdbRisk" ng-change="Assign(selected)" ng-value="eachPlayer" ng-model="selected"/>
     {{eachPlayer}} </li>
            </ul>
         </div>
       </div>
    </div>
</div>

<div class="modalbuttongroup">
   <a href="" class="center waves-effect waves-light btn addplayer" ng-click="submitPlayer(selected)"><i class="fa fa-check" aria-hidden="true"></i> ADD PLAYER</a>
   <a href="" class="center waves-effect waves-light btn cancelbtn modal-close red"><i class="fa fa-times" aria-hidden="true"></i> CANCEL</a>
</div>
 

вот мой js-код

 app.controller("dobController", ["$scope", function($scope) {
    $scope.selected;
    $scope.user =

      [{
    "id": "57f2ade2d9913939d0de4af8",
    "firstName": "Sachin"
    "lastName":"Tendulkar"

      }, {
    "id": "57f3d03fd99139333880a2f8",
    "firstName": "Shane"
    "lastName":"Warne"
      }, {
    "id": "57f3d05ad99139333880a2fa",
    "firstName": "Virat"
    "lastName":"Kohli"
      }, {
    "id": "57f3fff6d991394b3daa2d49",
    "firstName": "Ricky"
    "lastName":"Ponting"
      }]

    $scope.Assign = function(user) {
      $scope.selected = user;
    };
    $scope.submitPlayer = function(user) {
      alert(JSON.stringify($scope.selected.id))
    };
  }
]);
 

Я хочу, чтобы имя игрока отображалось в текстовом поле после выбора игрока, и при нажатии кнопки «ДОБАВИТЬ ИГРОКА» я хочу, чтобы идентификатор игрока был предупрежден.

Ответ №1:

Если вы используете materialize, вам необходимо создать форму в определенном формате, также используйте angular-materialize js для того же.

 <div ng-repeat="eachPlayer in player |filter:player.name">
     <p>
       <input type="radio" id="test1" ng-model="selected" ng-change="Assign(selected)" ng-value="eachPlayer" /> {{eachPlayer.name}} {{selected}}
       <label for="test1">{{eachPlayer.name}}</label>
    </p>
 

ДЕМОНСТРАЦИЯ

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

1. он всегда выбирается в первом переключателе, только проверьте свою демонстрацию, если я выберу третий переключатель, но он выберет только первый

2. @AraviS это проблема с materialize ss

3. Я работаю только с bootstrap с angluar, что более удобно, но материализует его немного для интеграции. Вы мне очень помогли, спасибо за все, я новичок в этом простом парне, так что помогите мне, спасибо

4. Если я нажму команду B, но выберу только Ateam, поэтому идентификатор неверен

5. предположим, если у меня есть два игрока, санат джаясурия и сангакара, оба имеют одинаковую букву, изначально «san», придут два игрока. Если я выберу sangakara, в этом контексте sangakara подпадает под второй вариант, поэтому, если выбрать sanagakara, это означает, что sanath выберет, и его идентификатор появится