【问题标题】:Pass value from scope variable into fcsa-number min option将值从范围变量传递到 fcsa-number min 选项
【发布时间】:2017-02-25 01:36:11
【问题描述】:

使用fcsa-number 指令验证输入字段中的数字。

我想限制一个字段只获取大于另一字段中值的数字。谁能指导我我做错了什么?是否可以将 model.Value1 的值传递给 fcsa-number 指令?

这是我的 HTML 的一部分:

<div>
    <div>
        <input type="text" fcsa-number="{ min: 1000, max: 1000000000 }" name="Value1" ng-model="model.Value1"/>
    </div>
    <div>
        <input type="text" fcsa-number="{min: {{model.Value1}}, max: 1000000000 }" name="Value2" ng-model="model.Value2" />
    </div>
</div>

这是一个 plunker,由 fcsa-number 示例 plunker 创建。 https://plnkr.co/edit/kLGeslO1ZhnHYHymNFZn

【问题讨论】:

    标签: html angularjs angularjs-directive scope


    【解决方案1】:

    你能不能用ng-attr-* 指令做同样的事情。

    所以你应该使用下面的指令和表达式。

    ng-attr-fcsa-number="{min: {{model.Value1}}, max: 1000000000 }" 
    

    它将帮助您将model.Value1 的评估值转换为fcsa-number 指令,如下所示。

    fcsa-number="{min: 10, max: 1000000000 }" 
    

    这是一个 plunker,由 fcsa-number 示例 plunker 创建。 https://plnkr.co/edit/kLGeslO1ZhnHYHymNFZn

    【讨论】:

    • 对不起,我不明白。我到底要尝试什么?
    • 完美,看来可以了。唯一奇怪的是,在第二种情况下,数字在千位之后没有用逗号分隔。但是当我在当前视图上保存数据而不是再次返回另一个时,数千后有逗号
    • 和其他奇怪的行为。例如,当我将第一个值设置为 1000 时,fcsa-number 的 min 选项设置正确,我只能将大于等于 1000 的数字插入到第二个字段中。但是,当我将第一个值更改为例如 2000 分钟时选项没有更改,因此在第二个字段中我仍然可以插入大于等于 1000 而不是 2000 的数字。请给点建议?
    • 你能创建一个plunker吗??
    • 我在我的问题中添加了一个 plunker。抱歉,我错误地将其添加到您的答案中,所以请忽略它。对于 plunker - 有 2 个字段。两者都设置为值 1500。但是当您将 Value1 更改为 2000 时,您仍然可以将 Value2 设置为 1500。但 Value2 不应低于 Value1。
    猜你喜欢
    • 1970-01-01
    • 2017-07-09
    • 2017-12-30
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-31
    • 1970-01-01
    相关资源
    最近更新 更多