Here I have some input fields where only a maximum of 4 numerics can be entered and the output would display in the input box which is at the bottom.
Problem : What I'm expecting is to have the separator (-) position to stay at its position without moving while displaying the user input.
I'm looking for something like this from Windows IP Address window :
Here's what I have tried so far : Fiddle Demo
$(document).ready(function() {
$('#user > input').keyup(function() {
addAll();
});
var addAll = function() {
var input1 = $('#user > input:nth-child(1)').val();
var input2 = $('#user > input:nth-child(2)').val();
var input3 = $('#user > input:nth-child(3)').val();
var input4 = $('#user > input:nth-child(4)').val();
$('#op > input').val(input1 + ' - ' + input2 + ' - ' + input3 + ' - ' + input4);
};
$('input').on('keypress keyup blur', function(event) {
$(this).val($(this).val().replace(/[^\d].+/, ""));
if ((event.which < 48 || event.which > 57)) {
event.preventDefault();
}
});
});
.input {
color: #666666;
font-weight: bold;
font-family:arial;
font-size:15px;
}
.input input {
width: 40px;
border: 1px solid #cccccc;
outline: none;
padding: 5px 10px;
color: #57b2bd;
font-size: 18px;
border-radius: 5px;
background: #f3f3f3;
-transition-duration: 0.5s;
-webkit-transition-duration: 0.5s;
-moz-transition-duration: 0.5s;
}
.input input:focus {
background: #fcfcfc;
box-shadow: 0px 2px 2px #dbdbdb;
}
div:nth-child(2) {
font-family: arial;
padding: 30px 0;
}
#op input {
color:#555555;
width: 213px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="user" class="input">
Type numeric :
<input type="text" maxlength="4" /> -
<input type="text" maxlength="4" /> -
<input type="text" maxlength="4" /> -
<input type="text" maxlength="4" />
</div>
<div id="op" class="input">
<input type="text" />
</div>