0

目前我正在为安卓设备构建一个混合应用程序。我正在尝试使用 ojInputNumber 组件来强制在设备上显示数字键盘。不幸的是,组件绑定总是给出 type="text"。

我有一个包含特征的对象列表,在遍历特征时,将根据 entrytype 在屏幕上加载以下代码段。

<div class="inputNumberWraper" data-bind="if: trait.getEntryType() === 'MANUALNUM'"> 
        <input class="inputNumer"
               data-bind="attr: {id: trait.getTraitCode()}
                        , ojComponent: {component: 'ojInputNumber'
                                        , value: trait.getValue()
                                        , min: trait.getMinValue()
                                        , max: trait.getMaxValue()
                                        , optionChange: changeListener
                                        , required: trait.isMandatory() }"/> 
        <span data-bind="ojModule:{name: 'inputComponents/inputNumberFixer'}" />
    </div>

在绑定组件之后,我试图加载一个模块(inputNumberFixer)。使用 jquery 手动将输入类型从文本更改为数字。

$(document).ready(function(){
            $('.inputNumer').attr("type", "number");
            $('.oj-inputnumber-button').hide();
        });

这一直有效,直到我从列表中选择另一个对象并且输入字段“刷新”。我更改的类型被放回文本,但 inputnumberfixer 没有第二次运行。

有谁知道如何强制这个组件将输入类型绑定到数字?

4

1 回答 1

1

抱歉不行。今天没有办法强制执行此操作(JET 的 v2.0.0)。ojInputNumber 组件是一个生成的组件,它提供“微调器”选项以轻松增加和减少数字值,但它不设置数字类型以便在移动设备上显示正确的数字键盘。

我已经提交了一个 ER 来修复它以显示正确的键盘。它应该在未来的版本中改变。

于 2016-04-08T15:04:33.343 回答