2017-02-19 2 views
0

Я пытаюсь реализовать search method для «каналов чата», которые для каждого запроса представляют собой совместимые результаты из SQL table из базы данных. Каждый результат можно отличить уникальным ID, что также исходит из SQl table.I не хотят, чтобы показать ID's так что я положил их в hidden input для каждого результата с использованием ng-model .Также, для каждого, в результате пользователь имеет возможность подписаться к каналу (кнопка подписки), отображаемая в этом результате, поэтому, чтобы правильно сохранить подписку, мне нужно получить ID, сохраненный в hidden input того же результата.Как получить скрытое значение ввода, которое было динамически сохранено с помощью AngularJS

Вот что я пробовал:

<table class="table table-condensed"> 
    <tr class="separating_line" ng-repeat="x in result"> 
     <!-- ng-bind-html allows to bind a variable to the innerHTML part of the HTML element --> 
     <td> 
      <div class="col-md-8"> 
      <h4><b style="color: gray;">{{ x.Name }}</b></h4> 
      <br><p> {{ x.Description }}</p> 
      </div> 
      <div class="col-md-2"> 
      <small><label style="color: gray;">Subscribers </label>{{ x.Subscribersnum }}</label></small><br> 
      <input id="hiddenId" hidden="hide" ng-model="idval=x.ChanID" /> 
      <button ng-click="subscribechannel()" class="btn btn-primary">Subscribe</button> 
      </div> 
     </td> 
    </tr> 
</table> 

В controller я посылаю его следующим образом удобной Servlet:

$http.get("http://localhost:8080/ExampleServletv3/subscribeservlet",{ 
     params: { 
      subidval: $scope.idval 
     } 
}) 

Но при отладке значение, которое я получаю в servlet является null ,

Как я могу это решить? Есть идеи?

Благодаря

+0

Нет причин использовать скрытые поля в приложении с угловыми углами: вы никогда не отправляете формы. Всегда отправляйте запросы AJAX. Просто храните данные в переменных вашего контроллера. И BTW, ng-model не ожидает оператора, который присваивает значение переменной. Прочитайте документацию о ng-модели (хотя, повторяю, вам здесь это не нужно). –

+0

, но мне нужно конкретное значение результата, как я могу это сделать? – user6561572

ответ

2

Вам не нужно какое-либо скрытое поле, чтобы делать то, что вы хотите. Все, что вам нужно, это передать параметр вашей функции:

<tr class="separating_line" ng-repeat="x in result"> 
    ... 
    <button ng-click="subscribechannel(x)" class="btn btn-primary">Subscribe</button> 
+0

Это прекрасно и очень просто, большое вам спасибо! – user6561572

Смежные вопросы