javascript - 如何使用此 BootStrap 屏幕键盘进行多个输入字段?

标签 javascript jquery html bootstrap-4

这是我想使用的键盘:

<div id='key1' class="container my-3" id='first'>
    <div class="row btn-group-lg mb-3" role='group'>
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '1';">1</button>
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '2';">2</button>
                <button type="button" class="col-sm btn btn-primary py-3" onclick="document.getElementById('empid').value=document.getElementById('empid'). value + '3';">3</button>
            </div>
            <div class="row btn-group-lg mb-3">
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '4';">4</button>
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '5';">5</button>
                <button type="button" class="col-sm btn btn-primary py-3 " onclick="document.getElementById('empid').value=document.getElementById('empid').value + '6';">6</button>
            </div>
            <div class="row btn-group-lg mb-3">
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '7';">7</button>
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '8';">8</button>
                <button type="button" class="col-sm btn btn-primary py-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '9';">9</button>
            </div>
            <div class="row btn-group-lg mb-3">
                <button type="button" class="col-sm btn btn-danger py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value.slice(0, -1);">Delete</button>
                <button type="button" class="col-sm btn btn-primary py-3 mr-3" onclick="document.getElementById('empid').value=document.getElementById('empid').value + '0';">0</button>
    </div>
</div>

如您所见,现在输入仅定向到 empid。我希望能够在 empid 中输入 6 个字符后切换到另一个输入字段 (id='input2')。

我愿意使用 jQuery/Javascript,但没有使用它们的经验。感谢任何和所有的帮助。

最佳答案

更改data-target-input定位您的元素 #input-id.form-control

<div data-target-input="#my_input_id"><div data-target-input=".my_input_class">

$('[data-toggle="keybrd"]').each(function(){
	var btn = $(this).find('.btn'), input = $($(this).data('target-input'));
	btn.on('click',function(e){
		e.preventDefault();
		var val = $(this).text();
		if(val=='Delete'){
			input.val(input.val().slice(0,-1));
		}else{
			input.val(input.val()+val);
		}
	});
});
@import url('https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css');
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
	<div class="row">
		<div class="col-sm p-0 pt-3">
			<input class="form-control form-control-lg" type="text" id="empid">
		</div>
	</div>
</div>

<div class="container my-3" id='first' data-toggle="keybrd" data-target-input="#empid">
	<div class="row btn-group-lg mb-3" role='group'>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">1</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">2</button>
		<button type="button" class="col-sm btn btn-primary py-3">3</button>
	</div>
	<div class="row btn-group-lg mb-3">
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">4</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">5</button>
		<button type="button" class="col-sm btn btn-primary py-3">6</button>
	</div>
	<div class="row btn-group-lg mb-3">
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">7</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">8</button>
		<button type="button" class="col-sm btn btn-primary py-3">9</button>
	</div>
	<div class="row btn-group-lg mb-3">
		<button type="button" class="col-sm btn btn-danger py-3 mr-3">Delete</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">0</button>
	</div>
</div>
<hr>
<div class="container">
	<div class="row">
		<div class="col-sm p-0 pt-3">
			<input class="form-control form-control-lg my-input" type="text">
		</div>
	</div>
</div>
<div class="container my-3" id='second' data-toggle="keybrd" data-target-input=".my-input">
	<div class="row btn-group-lg mb-3" role='group'>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">1</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">2</button>
		<button type="button" class="col-sm btn btn-primary py-3">3</button>
	</div>
	<div class="row btn-group-lg mb-3">
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">4</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">5</button>
		<button type="button" class="col-sm btn btn-primary py-3">6</button>
	</div>
	<div class="row btn-group-lg mb-3">
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">7</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">8</button>
		<button type="button" class="col-sm btn btn-primary py-3">9</button>
	</div>
	<div class="row btn-group-lg mb-3">
		<button type="button" class="col-sm btn btn-danger py-3 mr-3">Delete</button>
		<button type="button" class="col-sm btn btn-primary py-3 mr-3">0</button>
	</div>
</div>

关于javascript - 如何使用此 BootStrap 屏幕键盘进行多个输入字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57811152/

相关文章:

jquery - CSS 选择器需要选择表格中的下一行

javascript - NULL 与 MySQL、PHP、JSON 和 JavaScript

jquery - 签名未在 html5 中的 Canvas 元素上显示

html - 导航栏对齐 <ul>

javascript - 加载文件时更改浏览器标题

javascript - 单击提交按钮时无法读取未定义的属性 'settings'

javascript - 如何根据下拉上下文更改 jQuery inputmask 掩码?

jquery - 我如何在不扩展导航的情况下切换我的显示隐藏

html - 将不同的 css 样式应用于文本

javascript - 在字符串中检测大于 ">"且小于 "<"的正则表达式