用户如何停止选择选择选项而不禁用它

Posted

技术标签:

【中文标题】用户如何停止选择选择选项而不禁用它【英文标题】:how user to stop selecting the select option without disabling it 【发布时间】:2014-12-11 16:19:26 【问题描述】:

我的表单中有一个选择选项。它将由用户选择一次,并在更改时向服务器发出 ajax 请求并呈现表单。该呈现的表单还包含与他/她选择的选项相同的字段。所以我不希望他们再次选择该选项。通过禁用它,表单将不会提交其值。那么有什么选择呢。

【问题讨论】:

你可以删除它吗? 在您的 ajax 请求结束时将每个 不行,必须提交 您可以将选定选项的属性设置为已选择,即 可能是只读的。 【参考方案1】:

选项 1:您可以通过将索引存储在数组中来跟踪用户选择的选项。因此,在进行 ajax 调用之前,您可以检查是否已经成功调用。在每次成功调用时,您都会将其推送到数组中。

var queriedItems = [];
function onItemChange(this) 
    var index = this.selectedIndex; //value can also be used
    if (queriedItems.indexOf(index) === -1)  //not queried so far
        /*perform ajax call
          onscussess/readystatechanged
            queriedItems.push(index)       
       */
    

选项 2: 使用 css 和 divs 而不是 html 选择来构建自定义下拉菜单。它将允许您灵活地添加适当的 css 类来模仿用户已经选择的特定选项。您可以通过谷歌搜索轻松找到如何实现自定义下拉菜单。 您可以使用隐藏字段来存储所选值,以便默认情况下将其提交给服务器。

【讨论】:

【参考方案2】:

您可以像这样在由 ajax 创建的 select 上使用双重事件

var val ="";
$('#check').on('click',function()
    val=$(this).val();
);

$('#check').change(function()
$(this).val(val);
)

Fiddle DEMO

【讨论】:

以上是关于用户如何停止选择选择选项而不禁用它的主要内容,如果未能解决你的问题,请参考以下文章

是否有一个选项或命令可用于禁用/卸载/或停止 linux 中的 tcp/IP 堆栈。需要它在服务器应用程序中实现用户空间 tcp

python+selenium 在执行测试脚本时,遇到错误如何能继续执行下去而不停止

如何停止在 K6 中复制脚本?

读卡器,由于该设备有问题,Windows 已将其停止。 (代码 43)

Android:如何停止这种音乐?

从上到下滚动时如何自动停止对项目的列表视图取消选择?