以下是Enable/disable checkbox determind by users input
的问题我的老板想要一个下拉列表,而不是一个复选框。 所以现在当用户输入他的联系电话时。如果联系电话号码以01开头,那么'通过短信发送更新'从下拉列表中删除。
我已经编写了一些代码来反映这一点,如果用户输入01,它会从列表中删除SMS,但如果他将其更改为07号码,则SMS不会返回列表。我已经尝试将select.add添加到else,但这无法正常工作。
function deselectcheckbox(wildvalue) {
if (document.getElementById("tel_num").value.startsWith("01")) {
var select=document.getElementById('send_updates');
for (i=0;i<select.length; i++) {
if (select.options[i].value=='SMS') {
select.remove(i);
}
}
}
else
{
SOMETHING IN HERE TO CHECK TO SEE IF SMS IS MISSING AND TO ADD IT IF IT IS
}
}
HTML:
<table>
<tr>
<td>Contact Number</td>
<td>
<input type="text" name="tel_num" id="tel_num" value="" onkeyup="deselectcheckbox(this.value)"></td>
</tr>
<tr>
<td>
<select name="send_updates" id="send_updates" required>
<option value="" selected>Please Select....</option>
<option value="SMS">Send updates by SMS</option>
<option value="Email">Send updates by Email</option>
</select>
</td>
</tr>
</table>
我知道我需要在else语句中添加一些内容但不确定是什么。
由于
答案 0 :(得分:1)
使用此脚本:
var opt;
function deselectcheckbox(wildvalue) {
var select=document.getElementById('send_updates');
if (document.getElementById("tel_num").value.startsWith("01")) {
for (i=0;i<select.length; i++) {
if (select.options[i].value=='SMS') {
opt=select.options[i];
select.remove(i);
}
}
}
else
{
select.append(opt);
}
}