1

A有一个由数据库填充的下拉列表,列表中的某些选项根据它们是否被禁止而具有不同的背景颜色。

我想运行一个运行 onChange 的 VB 脚本,如果用户试图从具有红色背景颜色的列表中选择一个用户,它会显示一个警报。

例如:

Jim
Bob   ----> Red Background (Highlighted Red)
Dave
Tom

然后如果用户尝试选择 Bob,那么它会弹出一个警报,然后将选择的焦点重新设置为 NULL。

Sub TestSub()
            frmCol = document.getElementById("frmNew").style.backgroundColor
            if frmCol = "Red" Then
            msgbox "This user is banned, please select another user!"
            End If
        End Sub

希望这是有道理的!感谢您的帮助,非常感谢。询问是否需要更多详细信息!

4

1 回答 1

1

这样的事情应该做你想做的事:

For Each opt In document.getElementById("frmNew").options
  If opt.selected And opt.style.backgroundColor = "red" Then
    MsgBox "This user is banned."
  End If
Next

但是,正如@DanielCook 所说,仅根据被禁止用户列表检查实际名称将是一种更好的方法,因为应用程序逻辑以这种方式不那么笼罩:

Set bannedUsers = CreateObject("Scripting.Dictionary")
bannedUsers.Add "johnsmith", True
bannedUsers.Add "cmanson", True
...

For Each opt In document.getElementById("frmNew").options
  If opt.selected And bannedUser.Exists(opt.text) Then
    MsgBox "This user is banned."
  End If
Next
于 2013-06-14T20:22:46.203 回答