选择下拉列表/选择列表中已选择的项目

2023-12-31

我已经寻找这个问题的答案很长一段时间了,但没有运气,或者最多有错误的解决方案。

我面临的问题是我有一个选择元素(显然)在选择已选择的项目时不会触发“onchange”事件。

像这样:

<select onchange="alert(this.value);">
<option>1</option>
<option>2</option>
<option>3</option>
</select>

现在,假设我首先选择第 1 项。 然后我需要能够再次选择项目 1。

这个功能对于我正在从事的项目的成功非常重要。

任何帮助是极大的赞赏。

编辑:(更多信息)

需要此功能,因为我正在开发一个带有谷歌地图的项目,其中用户会看到一个下拉列表,可以快速跳转到一个国家/地区(例如,您在下拉列表中选择“西班牙”,谷歌地图将西班牙设置为您的视图。

当你想去西班牙,然后在地图上拖动,最终到达意大利时,问题就出现了。现在您想返回西班牙,但您无法从下拉列表中选择它,除非您先选择其他内容。我的老板不喜欢这样:)

编辑2:解决方案

所以现在有一些解决方案。 其中之一是将动作放在模糊上(当控制不聚焦时)could工作,因为我可以在更改时模糊列表,但对于再次选择同一项目的人来说,模糊控件的触发器不会消失,除非他们自己切换焦点,否则他们不会看到地图的更改。

我仍然无法理解为什么很难找到一些在选项选择/单击/模糊或其他什么上执行的事件。我会继续寻找自己,稍后再回来查看。

编辑3:最终解决方案

是的,我终于成功地让这个工作了,虽然不完全是原来的样子,但足够接近了,至少现在是这样。

我想出的解决方案是在选择顶部添加“请选择国家/地区”选项。 然后在更改时,我会将文本和“请选择国家/地区”的值更改为所选项目的值,并将 selectedindex 重置为 0。 这样,当选择西班牙时,它将在禁用状态下位于列表顶部,在工作状态下位于列表顶部。所以现在您可以单击列表中间的西班牙返回西班牙,即使它仍然处于选中状态(顶部项目是)

非常简洁,想法是由同事提供的。

脚本如下:

   var dummyOption;
function setdummyCountry(obj)
{
    var selectedOption = obj.options[obj.selectedIndex];
    if (dummyOption != null) {
        dummyOption.text = selectedOption.text;
        dummyOption.value = selectedOption.value;
    }
    else {
        dummyOption = document.createElement("option");
        dummyOption.text = selectedOption.text;
        dummyOption.value = selectedOption.value;
        dummyOption.setAttribute("disabled", "true");
        obj.options[0] = dummyOption;
    }
    obj.selectedIndex = 0;
}

<select onchange="setdummyCountry(this);">
    <option value="">Please select country</option>
    <option value="ES">spain</option>
    <option value="SE">sweden</option>
    <option value="NO">norway</option>
</select>

我希望这会对某人有所帮助!

感谢那些试图帮助我的人,感谢你们的想法和时间。


我认为如果选择相同的项目,则更改事件不会触发。我们面临着同样的问题,所以我们所做的是一个简单的可用性黑客:当选择一个项目时,我们向用户显示在跨度中选择的项目并将下拉列表的值重置为其默认值(--Select--)。

HTH

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择下拉列表/选择列表中已选择的项目 的相关文章

随机推荐

  • GWT - FlowPanel 和调整大小

    我有一些Composite我的应用程序中使用的小部件FlowPanel作为他们的主要元素 我想知道的是 我是否需要为此以任何方式调整大小 FlowPanel不实施RequiresResize 所以我不能使用ResizeComposite 但
  • 如何在数据帧中引用广播变量

    我用的是spark1 6 我尝试广播 RDD 但不确定如何访问数据帧中的广播变量 我有两个数据框员工和部门 员工数据框 Emp Id Emp Name Emp Age 1 john 25 2 David 35 部门数据框 Dept Id D
  • 无法下载任何源列表 - android SDK

    我正在尝试从 Sdk Manager 下载平台工具 但当我跑步时 C android sdk cmdline tools tools bin gt sdkmanager platform tools platforms android 28
  • 如何删除两个span元素之间的多余空间?

    我想删除这两个元素之间的额外空间 我尝试过但做不到 这是边距崩溃的问题吗 如何解决这个问题 我怎样才能删除多余的空间 这是我的 HTML 和 CSS body width 250px height 100px background F2F2
  • MsDeploy 远程处理执行清单两次

    I have 为 msdeploy 创建了一个清单以 停止 卸载 复制 安装和启动 Windows 服务 从清单创建了一个包 对远程服务器上的包执行 msdeploy 问题 它执行整个清单两次 尝试过 我修改了 waitInterval 和
  • Laravel 中的分页不起作用

    当我投入我的观点时 问题 gt 链接 我没有看到分页样式 并且该页面不像我在控制器中放入的那样每页需要 6 个帖子 我的职位控制器 类 QuestionsController 扩展控制器 Display a listing of the r
  • 为 LaTeX 编写功能的起点是什么?

    我对它很陌生 但知道它无法处理我需要的特殊东西 我想开发 LaTeX 的功能 问题 有一种东西叫做 TeX 然后是乳胶 然后是 KOMA Script 那么 这三个中的哪一个实际上是驱动所有这些东西的 底层引擎 这是 TeX TeX 不仅是
  • React-Native 中 Android 和 iOS 的图像大小

    在制作iOS应用程序时 我们通常会提供 x 2x 3x图像 根据我对 Android 的了解 大约有六种不同的尺寸 我已经开始研究react native并遇到了图像问题 我的问题是 我是否需要提供所有不同尺寸的图像 即通过结合 iOS 和
  • XML 到制表符分隔文本

    需要XML XSLT专家的帮助 我有 2 个以 XML 格式从系统导出的示例记录 如下所示 我喜欢使用 XSLT 将数据转换为制表符分隔的文本 如下所示https docs google com spreadsheet ccc key 0A
  • 查询@xml变量以获取行集

    我有一个 xml 数据 如下所示 DECLARE XmlContent XML SET XmlContent
  • 理解嵌套列表理解[重复]

    这个问题在这里已经有答案了 我想了解嵌套列表理解 下面 我列出了一个列表理解表达式及其 for 循环等效项 我想知道我的理解是否正确 例如 min row i for row in rows max row i for row in row
  • 使用 datetime64 将字符串转换为 np.array,而不是使用 Pandas

    我正在寻找一种方法 将以 YYYYmmdd 格式给出的日期转换为 dtype datetime64 的 np array 日期存储在另一个 np array 中 但 dtype float64 我正在寻找一种方法来避免熊猫来实现这一目标 我
  • 在erlang接收语句中引入“保存队列”的目的是什么

    我是 erlang 新手 正在学习 Joe Armstrong 的 Programming Erlang 教程 我对8 6中选择性接收中提到的 保存队列 感到困惑 如果消息根本不匹配 为什么不直接丢弃呢 放回邮箱以便后续处理的目的是什么 如
  • 为什么我的 Netbeans Xdebug 会话在一段时间不活动后会超时

    我喜欢 Netbeans 帮助我调试 Magento 应用程序的方式 在 Win 7 64 位上的 XAMPP 中 但我注意到连接在一段时间后似乎超时 断点不再被命中 我必须重新启动调试会话 这很烦人 关于如何延长或禁用调试超时有什么建议吗
  • Tensorflow 中的 RBF 网络有问题吗?

    我正在使用 Tensorflow 开发 RBF 网络 但在第 112 行出现此错误 内容如下 ValueError Cannot feed value of shape 40 13 for Tensor Placeholder 0 whic
  • 使用四元数平滑旋转

    四元数不仅可以描述旋转 还可以描述方向 即从初始 零 位置开始的旋转 我希望模拟从一个方向到另一个方向的平滑旋转 我计算了起始方向startOrientation和末端方向endOrientation并希望将中间方向描述为startOrie
  • 既然有String,为什么还要使用StringBuilder?

    我刚刚遇到StringBuilder第一次使用并感到惊讶 因为 Java 已经拥有非常强大的功能String允许追加的类 为什么要一秒钟String class 我在哪里可以了解更多信息StringBuilder String不允许追加 您
  • Javascript 中的几乎所有内容为何都是对象?

    我在许多 JavaScript 介绍中读到过很多这一点 我只是不明白 我始终认为对象是具有方法和属性的东西 我理解数组 因为它有键值对 字符串 或 数字 或 函数 怎么样 上面列出的这些东西对我来说似乎就像函数 这意味着你输入一些东西 你就
  • 内存映射文件、托管映射文件和偏移指针

    我对 Boost 库 适用于 Windows 的术语有点困惑 我想做的很简单 在磁盘上创建一个文件 gt 50 GB 的大文件 分别为写入和读取操作进行一些映射 例如 首先映射 1 GB 部分用于写入 然后将其刷新到硬盘驱动器并获取新部分
  • 选择下拉列表/选择列表中已选择的项目

    我已经寻找这个问题的答案很长一段时间了 但没有运气 或者最多有错误的解决方案 我面临的问题是我有一个选择元素 显然 在选择已选择的项目时不会触发 onchange 事件 像这样