javascript - 启用/禁用由用户输入决定的复选框
问题描述
我有一个简单的表格,用户可以在其中输入他的联系电话。如果联系电话以 07 开头,则启用该复选框,否则我需要禁用它。
我已经编写了一些代码,但我面临的问题是当用户键入 01 时,它会被禁用,但如果他们在 01 之后继续添加任何其他数字,则复选框将启用。
function deselectcheckbox(wildvalue) {
if (document.getElementById("1").value == "01") {
$("#checkbox").attr("disabled", true);
document.getElementById("divText").innerHTML = "Not able to send";
}
else
{
$("#checkbox").attr("disabled", false);
document.getElementById("divText").innerHTML = "Send text";
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table>
<tr>
<td>Contact Number</td>
<td><input type="text" id="1" name="1" onkeyup="deselectcheckbox(this.value)"></td>
</tr>
<tr>
<td><label><div id="divText">Send text</div></label></td>
<td><input type="checkbox" name="contact" id="checkbox" value=""></td>
</tr>
</table>
我尝试添加通配符
(document.getElementById("1").value == "01*")
但它不起作用,请帮助
解决方案
如果您只想在内容以“07”开头时启用复选框,您可以先检查该复选框并在 else 块内禁用。
if (document.getElementById("1").value.startsWith("07")) {
$("#checkbox").attr("disabled", false);
document.getElementById("divText").innerHTML = "Send text";
}
else
{
$("#checkbox").attr("disabled", true);
document.getElementById("divText").innerHTML = "Not able to send";
}
推荐阅读
- node.js - 使用 AWS Lambda 和 API Gateway NodeJs 的格式错误的 Lambda 代理响应
- reactjs - 手动输入日期时,KeyboardDatePicker 减去 1 天
- javascript - 画布上的绘图点在 Safari 上不起作用
- swift - 如何将 JavaScript 正则表达式转换为 Swift 以进行电子邮件验证?
- sql - sql plus中条件调用sql脚本
- c# - FileSystemWatcher:忽略自己的进程所做的更改
- function - 如何在 Rust 中实现多级柯里化函数?
- html - 暗模式下的电子邮件呈现
- android - 如何在android中使用具有模糊效果CardView的自定义阴影
- c++ - 用于 linux 的 Valgrind 调试日志