【问题标题】:Is it possible to pass HTML input field variables to a custom Angularjs filter?是否可以将 HTML 输入字段变量传递给自定义 Angularjs 过滤器?
【发布时间】:2015-04-10 05:21:11
【问题描述】:

我是 Angular 的新手,所以这可能真的很容易。 我有一些优惠的 JSON 数组。每个报价都有一个价格。我希望能够添加一个过滤器,以便用户可以指定他们的最低/最高支出,并且只看到属于这些括号的优惠。

在列表控制器中我有

// MinMax filter:
        $scope.minMax = function(prop, mn, mx){
            return function(item){
              if (  (Number(item[prop]) >= mn) && (Number(item[prop])<= mx) ) return true;
            }
        }

在 View HTML 中,我有两个简单的文本输入字段:

 <input id='cheapest'   name="cheapest" type='text' value='10' />
 <input id='dearest'    name="dearest"  type='text' value='5000'  />

和中继器

<div ng-repeat="offer in offers | filter: minMax('Price' ,  [?cheapest?], [?dearest?])  ">

当我硬编码值时过滤器会起作用,但是如何将它们绑定到输入字段?

谢谢

【问题讨论】:

    标签: javascript angularjs binding filter


    【解决方案1】:

    这是给队长ngModel的电话;)

    只需绑定您的 input 值:

    <input id='cheapest'   name="cheapest" type='text' value='10' ng-model="cheapest" />
    <input id='dearest'    name="dearest"  type='text' value='5000' ng-model="dearest"  />
    

    并将值传递给您的过滤器:

    <div ng-repeat="offer in offers | filter: minMax('Price', cheapest, dearest)  ">    
    

    或通过您的控制器中的$scope.cheapest 访问它们。

    虽然我不确定语法,但它会以某种方式工作:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 2017-05-31
      • 2022-11-20
      • 1970-01-01
      相关资源
      最近更新 更多