我有一个简单的表格,用户输入他的联系电话。如果联系电话号码以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>
&#13;
我尝试过添加通配符
(document.getElementById("1").value == "01*")
但它没有用,请帮忙
答案 0 :(得分:5)
如果您只想在内容以“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";
}
答案 1 :(得分:-2)
将您的if语句更改为:
if(!String(document.getElementById("1").value).startsWith("07")) {...}