2015-03-13 19 views
2

我有一个JQXGrid,它利用jqxNumberInput来允许用户输入数字,而不是。jqxNumberInput强制用户在数字值前面保留( - )负号

createeditor: function (row, cellvalue, editor) { 
    editor.jqxNumberInput({ spinMode: "simple", decimalSeparator: decimalSeparator, groupSeparator: groupSeparator }); 
}, 

这样宣布。

我的问题是,当输入在字段中有负数时,即“-110.50”行为变得棘手。如果用户选择整个输入并点击删除,则新值为“-0.00”。如果他们然后尝试键入“50.50”进入输入否定删除使号码“-50.50”

可以突出显示和删除任何你想要的,但要摆脱负的唯一办法就是把数“-0.00”和使用微调迭代值了字,这是可怕的UX 。

我做了谷歌搜索的东西,我找不到任何关于这个问题的API或其他SO问题。

如果有人遇到这个问题,并有一个解决方案,将不胜感激。

回答

1

您可以观看关键事件。 如果它们发生删除,则将该值设置为0,并且将删除减号。

$("#jqxNumberInput").jqxNumberInput({ 

}).keyup(function(evn){ 
    if(evn.keyCode === 46){ 
     //they hit delete so set the value to 0 
     $('#jqxNumberInput').jqxNumberInput('setDecimal', 0); 
    } 
}); 
+0

这似乎工作,谢谢 – QBM5 2015-03-25 13:37:02

0

要摆脱负数,您可以点击“ - ”切换负号。

+0

这是一个可怕的用户体验设计,有十人看这个问题后,只有一个人认为这样做,这是他先尝试其他十件事情后,可能会工作的东西。感谢您输入 – QBM5 2015-03-25 13:36:21

+0

,可能您必须教您的用户或使用其他小部件 – scripto 2015-03-25 17:42:45