当选择框中的选项选择时,如何使用javascript显示警报
我有一个网格,它有N行。我有一个选择框,每行有三个选项当选择框中的选项选择时,如何使用javascript显示警报,javascript,alert,Javascript,Alert,我有一个网格,它有N行。我有一个选择框,每行有三个选项 <tr> <td> <select id="1"> <option>YES</option> <option>NO</option> <option>IGNORE</option> </select> <td> </tr> <tr> <td
<tr>
<td>
<select id="1">
<option>YES</option>
<option>NO</option>
<option>IGNORE</option>
</select>
<td>
</tr>
<tr>
<td>
<select id="2">
<option>YES</option>
<option>NO</option>
<option>IGNORE</option>
</select>
<td>
</tr>
<tr>
<td>
<select id="3">
<option>YES</option>
<option>NO</option>
<option>IGNORE</option>
</select>
<td>
</tr>
我想在用户选择忽略时显示一个警报。我不想在用户第一次选择“忽略”时显示警报
让我们考虑选择ID1,如果用户第一次选择“忽略”或“是”,我不想显示警报。但是,如果用户已经单击“是”或“否”,然后下次尝试单击“忽略”,则我希望显示警报
此功能必须适用于所有选择框。有人能帮忙解决这个问题吗 您可以创建一个javascript映射,用于维护下拉列表中某个值被选中的次数。如果下拉列表中的计数大于1,则可以显示警报
<tr>
<td>
<select id="1" onchange="updateSelectionCount('1')">
<option>YES</option>
<option>NO</option>
<option>IGNORE</option>
</select>
<td>
</tr>
<tr>
<td>
<select id="2" onchange="updateSelectionCount('2')">
<option>YES</option>
<option>NO</option>
<option>IGNORE</option>
</select>
<td>
</tr>
<tr>
<td>
<select id="3" onchange="updateSelectionCount('3')">
<option>YES</option>
<option>NO</option>
<option>IGNORE</option>
</select>
<td>
</tr>
<script>
var map = new Object();
function updateSelectionCount(comboId){
var e = document.getElementById(comboId);
var selectedValue = e.options[e.selectedIndex].value;
if(selectedValue=='IGNORE'){
if(map[comboId]==1){
alert('selected second time');
}else{
map[comboId]=1;
}
}else{
map[comboId]=1;
}
}
</script>
如果要使用jquery,还可以执行以下操作:
<script type="text/javascript">
$( document ).ready(function() {
$('select').on('change', function() {
if (typeof this.count == 'undefined')
{
this.count = 0;
}
else{
if (this.count>=0 && this.value=="2")
{
alert("my Warning")
}
this.count += 1
}
})
});
</script>
<select>
<option value="0">YES</option>
<option value="1">NO</option>
<option value="2">IGNORE</option>
</select>
<select>
<option value="0">YES</option>
<option value="1">NO</option>
<option value="2">IGNORE</option>
</select>
那么,如果且仅当select2更改为IGNORE时,您是否要发出警报?按行计算是什么意思?你已经有三排了。顺便说一句,使用数字作为ID不是一个好主意。从样式表和选择器引用它们需要一些额外的工作。因此,你需要的是一个计数器,它告诉你有多少忽略被按下,然后如果在计数器=2时运行的语句?@ AAMEDEAEL:让我们考虑ID1,如果用户第一次选择“忽略”或“是”,我不想显示警报。但是,如果用户已单击“是”或“否”,然后下次尝试单击“忽略”,则我希望显示警报。您好@GreenComputers,我已使用代码更新了我的评论。请检查一下。谢谢你的宝贵时间。它按预期工作。