Как отправить данные из текстового поля функции в контроллере в angularjs? Я не могу отправить значение текстового поля в функцию Sorted

0

Я новичок в AngularJs, и у меня есть эта проблема. Как отправить текстовые данные из текстового поля в функцию, отсортированную? Я использовал document.getElementById рядом с тегом Button, но он не работал (значение, которое функция пропускает, не определено), я не хочу использовать концепцию угловой модели. Кто-нибудь может мне помочь, пожалуйста.

<!DOCTYPE html>
      <html lang="en" ng-app = "myfirstangularapp">
     <body>
<div class="row" ng-controller = " dishDetailController as dishcntr ">
    <div class="col-xs-6">
        <ul class = "media-list">
            <li class = "media">
            <a class = "media-left" href = "#" >
                <img class = "media-object" src={{dishcntr.dish.image}} alt="crunchy rice receipe">
            </a>
            <div class = "media-body">
                <h2 class = "media-heading"> {{dishcntr.dish.name}} <span class = "label label-danger">{{dishcntr.dish.label}}</span>
                <span class = "badge">{{dishcntr.dish.price}}</span>
                </h2>
            <p>{{dishcntr.dish.information}}</p>
            </div>
            </li>
        </ul>
    </div>
    <div class = "col-xs-12">
        <div class = "inputfield">
            <input type = "text" id = "inputfield" value = "hi" name="fillin">
            <button value ="order" ng-click="dishcntr.sorted(document.getElementById('#inputfield').value)" name = "order">order</button>
        </div>
    </div>

    <div class="col-xs-12" ng-repeat="listcomments in dishcntr.comment| orderBy: dishcntr.text">
    <blockquote>
        <p> {{listcomments.comments}}
        </p>
        <footer>
            {{listcomments.author}} on {{listcomments.date| date }}
        </footer>
    </blockquote>
    </div>
</div>

<script>
    var app = angular.module('myfirstangularapp',[]);
    app.controller('dishDetailController',function(){
        var dish = {name:'cheeseburger', label:'appetizer', price:'4.99',information:'contains cheese stuffed between two bread pieces also available with different vegetables.',image:'./images/elaicheesecake.png'};
        this.dish = dish;
        var comment = [
            {comments:'The dish is good', date:'2016-08-08',author:'Patterson',rating:'4'}
        ];
        this.comment = comment;
        this.text = '';
        this.sorted = function(temp)
        {
            window.alert(temp);

        }
    });
</script>

  • 0
    Могу ли я узнать, почему вы не хотите использовать угловую крутую функцию (двухстороннее связывание) ?
  • 0
    введите ng-модель в ваш вход, пожалуйста: D
Показать ещё 3 комментария
Теги:

1 ответ

1
Лучший ответ

что-то вроде этого

<div class = "inputfield">
            <input type = "text" ng-model="dishcntr.fillin"  name="fillin">
            <button value ="order" ng-click="dishcntr.sorted()" name = "order">order</button>
</div>

в контроллере

this.sorted = function(){
    window.alert(this.fillin);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню