javascript - 如何使用相同的按钮设置多个输入字段的值
问题描述
我只想在单击时才设置输入字段值并要在同一按钮中从两个不同的输入字段中设置值时,当一个输入字段被选择时,仅在其他选择/单击值设置其时,仅在此字段中设置值。
尝试不同的方法,但没有成功。我希望我能在这个问题上得到帮助。
谢谢
var phoneScreen = $("#phone"); var phoneNumber = phoneScreen.val();
var delBtn = $("#del"); var clrBtn = $("#clr");
var numBtn = $(".number");
numBtn.click(function() {
var number = $(this).val();
updatePhoneNumber(number);
printPhoneNumber();
});
delBtn.click(function() {
deleteNumber();
printPhoneNumber();
});
clrBtn.click(function() {
clearNumber();
printPhoneNumber();
});
function updatePhoneNumber(newNumber) {
phoneNumber = phoneNumber + newNumber;
}
function deleteNumber() {
phoneNumber = phoneNumber.slice(0,-1);
}
function clearNumber() {
phoneNumber = "";
}
function printPhoneNumber() {
phoneScreen.val(phoneNumber);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<input type="number" id="phone" placeholder="(123) 45-7" min="0" step="1"/>
<input type="number" id="phone2" placeholder="(123) 45-7" min="0" step="1"/>
<form action="#" method="post" id="form">
<button type="button" class="rightside__pad-btn number" value="1">1</button>
<button type="button" type="button" class="rightside__pad-btn number" value="2">2</button>
<button type="button" type="button" class="rightside__pad-btn number" value="3">3</button>
<br />
<button type="button" type="button" class="rightside__pad-btn number" value="4">4</button>
<button type="button" type="button" class="rightside__pad-btn number" value="5">5</button>
<button type="button" type="button" class="rightside__pad-btn number" value="6">6</button>
<br />
<button type="button" type="button" class="rightside__pad-btn number" value="7">7</button>
<button type="button" type="button" class="rightside__pad-btn number" value="8">8</button>
<button type="button" type="button" class="rightside__pad-btn number" value="9">9</button>
<br />
<button type="button" id="del" class="rightside__pad-btn del">
</button>
<button type="button" class="rightside__pad-btn number" value="0">0</button>
<button type="button" id="dial" class="rightside__pad-btn" value="">
</button>
</form>
</body>
</html>
解决方案
我只是添加了一些更改
var hasFocus = $('#phone');
设置#phone
为默认焦点元素。将 更新
hasFocus
为选定的输入元素。
$('input[type=number]').on('click', function(){
hasFocus = $(this);
});
现在添加了为焦点元素设置值的功能hasFocus.val(hasFocus.val() +number);
请更新
var phoneScreen = $("#phone");
var phoneNumber = phoneScreen.val();
var delBtn = $("#del"); var clrBtn = $("#clr");
var numBtn = $(".number");
var hasFocus = $('#phone');
$('input[type=number]').on('click', function(){
hasFocus = $(this);
})
numBtn.click(function() {
var number = $(this).val();
hasFocus.val(hasFocus.val() +number);
//updatePhoneNumber(number);
//printPhoneNumber(number);
});
delBtn.click(function() {
deleteNumber();
printPhoneNumber();
});
clrBtn.click(function() {
clearNumber();
printPhoneNumber();
});
function updatePhoneNumber(newNumber) {
phoneNumber = phoneNumber + newNumber;
}
function deleteNumber() {
phoneNumber = phoneNumber.slice(0,-1);
}
function clearNumber() {
phoneNumber = "";
}
function printPhoneNumber() {
phoneScreen.val(phoneNumber);
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<input type="number" id="phone" placeholder="(123) 45-7" min="0" step="1"/>
<input type="number" id="phone2" placeholder="(123) 45-7" min="0" step="1"/>
<form action="#" method="post" id="form">
<button type="button" class="rightside__pad-btn number" value="1">1</button>
<button type="button" type="button" class="rightside__pad-btn number" value="2">2</button>
<button type="button" type="button" class="rightside__pad-btn number" value="3">3</button>
<br />
<button type="button" type="button" class="rightside__pad-btn number" value="4">4</button>
<button type="button" type="button" class="rightside__pad-btn number" value="5">5</button>
<button type="button" type="button" class="rightside__pad-btn number" value="6">6</button>
<br />
<button type="button" type="button" class="rightside__pad-btn number" value="7">7</button>
<button type="button" type="button" class="rightside__pad-btn number" value="8">8</button>
<button type="button" type="button" class="rightside__pad-btn number" value="9">9</button>
<br />
<button type="button" id="del" class="rightside__pad-btn del">
</button>
<button type="button" class="rightside__pad-btn number" value="0">0</button>
<button type="button" id="dial" class="rightside__pad-btn" value="">
</button>
</form>
</body>
</html>
推荐阅读
- sql - 过滤仅包含数字(不包括字母)的 ID
- vb.net - 如何读取 Outlook RecurrencePattern.DayOfWeekMask 的值?
- regex - 正则表达式不应包含字符,除非
- prometheus - 获取警报处于状态的秒数
- node.js - 安装本地包时如何修复纱线错误?
- java - 我有一个变量,但 Java 将它们视为两个
- amazon-web-services - 在 Golang Fargate 任务中访问 DynamoDB
- java - Android中的基本身份验证登录
- java - 提交方法不会调用 onNext FLOW STREAM API JAVA
- python - GEKKO 中的非线性输入(操纵变量)