加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

jquery – 锁定HTML select元素,允许在提交时发送值

发布时间:2020-12-14 22:43:34 所属栏目:资源 来源:网络整理
导读:我在复杂的订单表格上有一个选择框(对于客户字段),当用户开始在订单中添加行时,不应该允许他们更改客户选择框(除非删除所有行). 我的直接想法是我可以使用disabled属性,但是当禁用该框时,选定的值不再传递给目标. 当问题出现之前,其他一个开发人员通过循环遍

我在复杂的订单表格上有一个选择框(对于客户字段),当用户开始在订单中添加行时,不应该允许他们更改客户选择框(除非删除所有行).

我的直接想法是我可以使用disabled属性,但是当禁用该框时,选定的值不再传递给目标.

当问题出现之前,其他一个开发人员通过循环遍历所有选项并禁用除选定选项之外的所有选项来解决这个问题,并且确实将值传递给目标并且我们一直在使用.但现在我正在寻找一个合适的解决方案,我不想遍历所有选项,因为数据正在扩展,并且它开始引入性能问题.

我不想在按下提交按钮时启用此/所有元素.

如何锁定输入,同时保持选定的选项并将该值传递给目标脚本?如果可能的话,我更喜欢非JavaScript解决方案,但如果需要,我们运行jQuery 1.4.2以便可以使用.

编辑

我试图使用readonly属性但收效甚微,这里是我正在使用的jQuery代码:

$('.abc').each(function(element) {
    $(this).attr('readonly','readonly');
});

使用Firebug检查元素时,已设置了readonly属性,但我仍然可以更改选择框中的值?!

最佳答案
这有效:

$('.abc :not(:selected)').attr('disabled','disabled');

jQuery仍将循环遍历幕后的元素,但我严重怀疑你会遇到性能问题,除非你的选择有数千个元素(在这种情况下,你的可用性问题将远远超出性能问题).原始代码一定是做错了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读