anglejsの入力フィールドを1つだけ使用して、画像のような入力フィールドを作成できますか?各ボックスには1つの番号しか入力できません。HTML入力を12列に分割
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
<li><input type="text" maxlength="1" onkeypress="return isNumber(event,$(this))"></li>
function isNumber(evt,ele) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
if(ele.val().length == 0){
ele.parent().next().children('input').focus();
}
return true;
}
私は12個の入力ボックスを使用していました。それを行うための他の方法はありますか? また、jqueryの使用を避ける必要があります。
12個の入力ボックスを保持し、さらにng-model = "numberArray [position]"ディレクティブをそれぞれに付けることができます。 –
これを行うには、もっと良い方法があるかどうかを知りたいだけでした。 – user3702775
あなたはng-repeatを試みましたか?また、なぜ 'ngKeyPress'を使わないのですか? https://docs.angularjs.org/api/ng/directive/ngKeypress – developer033