多选框、下拉列表禁用问题

        后台项目中经常会用到下拉列表或者多选框,可能因为权限控制或者其它原因,要求在审核或则修改时禁用多选框或者下拉列表,使用$("#id").attr("disabled",true)可以禁用下拉列表或者多选框,但是这样会带来新的问题,被禁用下拉列表无法将数据传到服务端,如何做到既能禁用又能够将数据传到后台呢?提供一下几个思路:

        1.正常采用$("#id").attr("disabled",true)的方式,但是在提交之前一定要使用$("#id").attr("disabled",false)将被限制属性接触禁用,一般form表单提交之前,都需要对比属性参数进行校验,可以在校验函数中把被禁用的属性解禁。

        2.正常采用$("#id").attr("disabled",true)的方式,一般需要禁用的场景都发生在从服务端拿到数据进行展示时,所以可以使用$("#id").attr("disabled",true)的方式限制属性,同时隐藏一个期副本,用于存放被限制的数据,这样就可以把数据传到服务端了。

        3.采用jquery的一些事件组合达到伪禁用的效果,首先采用$("#id").attr("readonly","readonly")的方式使属性看起来不可点,但是这是还是可以进行选择的,采用鼠标事件 onMouseDown + onMouseMove将数据还原,以达到伪禁用的效果,不过采用这种方式需要把选中的值隐藏在属性域中。

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值