这是来自Enable/disable checkbox determind by users input的有问题的关注者
我的老板希望有一个下拉列表,而不是复选框。
所以现在当用户输入他的联系电话时。如果联系电话以01开头,则将从下拉列表中删除“通过SMS发送更新”。
我已经编写了一些代码来反映这一点,如果用户输入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语句中添加一些内容,但不确定是什么。
谢谢
最佳答案
使用此脚本:
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);
}
}
关于javascript - 由用户输入确定的从下拉选项框中添加和删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50474852/