简体   繁体   English

只允许用户更改第一位数字

[英]Allow user only to change first digit

This is my fiddle http://jsfiddle.net/foucpgkL/ 这是我的小提琴http://jsfiddle.net/foucpgkL/

<input type="text" value=""/>

I need to have my textbox containing same value as given ie 000 not 0 我需要让我的文本框包含与给定值相同的值,即000而不是0

Also I have requirement to allow user to edit only first digit.ie user should only input like 100,200,500 and not like 123,110 etc. 另外我还要求允许用户仅编辑第一位数字,即用户只能输入100,200,500之类的内容而不是123,110等之类的内容。

How can I achieve this using jquery. 如何使用jquery实现此目的。

I am using Angular Js so angular directive could be best option. 我正在使用Angular Js,因此angular指令可能是最佳选择。

var elem="000";
$('input').val(elem);
$(".text").keyup(function(){
    console.log($(this).val());
    $(this).val($(this).val().substring(0,1)+"00");
});

Demo 演示版

jsfiddle jsfiddle

var elem='000';
$('input').val(elem);
$("input").on('change',function(){
   $(this).val($(this).val().substring(0,1)+'00');
});

Try this: 尝试这个:

<input type="text" value="" step="100" />

EDIT: 编辑:

FIDDLE 小提琴

My answer was not sufficent so I made a short fiddle. 我的回答不充分,所以我做了一个小提琴。

HTML: HTML:

<input type="number" step="100" value="000" min="0" max="900" onchange="checkZero(this)">

JS: JS:

function checkZero(input) { if (!parseInt(input.value)){ // if value is not in format "000", is "0" or 0 input.value = "000"; } }

Use ng-model and ng-change . 使用ng-modelng-change I suggest wrapping it in a directive. 我建议将其包装在指令中。 Feel free to ask for a snippet if you need. 如有需要,请随意提供摘录。

I would suggest Jquery Mask for this 我建议为此使用jQuery Mask

<input type="text" id="myInput" />

jQuery(function($){
  $("#myInput").mask("900",{placeholder:"000"});
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM