【发布时间】:2023-02-03 20:41:26
【问题描述】:
我正在尝试使用正斜杠 (/) 格式化输入类型文本,使其看起来像这种格式的日期 = "DD/MM/YYY"
唯一的问题是,我插入输入的值不是来自我的键盘,我的意思是,我不是在输入它们,相反,我在屏幕上有一个带有数字键盘的 DIV。
在那个 div 中,我有多个具有不同值的按钮,但相同的类应用于所有这些按钮 (".buttonsDigitalKeyboard") ,并且在该 div 内单击每个按钮时,单击的按钮的值进入我的输入。
当我直接从键盘键入值时,我确实使这种格式有效,但项目不允许这样做,用户必须使用屏幕上显示的数字键盘,我无法弄清楚单击按钮时应用此方法的方法。
有谁知道我如何才能完成这项工作?
感谢所有帮助
$(document).ready(function () {
const input_value = $("#inputText");
$(".buttonsDigitalKeyboard").click(function () {
let value = $(this).val(); //
field(value);
});
function field(value) {
input_value.val(input_value.val() + value);
}
});
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
</head>
<body>
<input type="text" id="inputText">
<div class="col mt-2">
<button class="buttonsDigitalKeyboard" value="0"> 0 </button>
<button class="buttonsDigitalKeyboard" value="1"> 1 </button>
<button class="buttonsDigitalKeyboard" value="2"> 2 </button>
<button class="buttonsDigitalKeyboard" value="3"> 3 </button>
<button class="buttonsDigitalKeyboard" value="4"> 4 </button>
<button class="buttonsDigitalKeyboard" value="5"> 5 </button>
<button class="buttonsDigitalKeyboard" value="6"> 6 </button>
<button class="buttonsDigitalKeyboard" value="7"> 7 </button>
<button class="buttonsDigitalKeyboard" value="8"> 8 </button>
<button class="buttonsDigitalKeyboard" value="9"> 9 </button>
<button class="buttonsDigitalKeyboard" value="10"> 10 </button>
</div>
【问题讨论】:
-
无法理解这一点,这缺乏太多背景。比如,我们甚至不知道这些按钮的实际值是多少是.当你问这样的问题时,你应该提供一个正确的minimal reproducible example。
-
我刚刚编辑了我的问题并提供了一个实际场景的例子
-
好的,所以您要将数字一位一位地附加到该值。在这种情况下,如果您检查当前字段值的长度就足够了 - 如果当前长度是 2 或 5,那么您希望在附加当前数字之前先附加
/。 (这是假设您没有任何功能可以再次删除数字 - 但从给定的示例中,我看不到类似的东西。)
标签: javascript html jquery css