折雨的天空

博客介绍:本博客当前共有文章【968】篇,总阅读量【5,159,169】次,第一篇博客发表于【2011年04月06日 10时34分】,距今已【4978】天,感谢您的使用!

您的位置:折雨的天空 >其他技术> js里面获取select修改值以前的值

js里面获取select修改值以前的值

假设一个select有三个option,值分别为A,B,C


当select选择A的时候,我修改select的值为B,但是在修改为B的同时,我需要获取它之前的值A


问题就来了,给select应用onchange事件时,通过jquery的val获取到的是修改后的值


解决办法就是:


定义一个全局变量


全局变量E


给select绑定click事件,当单击发生时,这时select的值还没有改变,通过val获取后,存放到全局变量E里


给select绑定onchange事件,当修改值时,通过val获取的值是修改后的值,而这时存放在全局变量E里面的值就是修改之前的值了


菜鸟记录,高手不要吐槽


以下为代码:主要解决多个select选项值相同时,其中一个已经选择了某项后,其他select就不能再选择


<script>
    var select_old_value;
    $(document).ready(function(){
        $("select").click(function(){
            //存储select修改之前的值
            select_old_value=$(this).val();
        });
    });
    //给select绑定的onchange事件处理函数
    function del_option(obj)
    {
        var op_val=$(obj).val();
        if(op_val)
        {
            $("select").each(function () {
                $(this).children("option[value='" + op_val + "']").attr("disabled", "disabled");
                $(this).children("option[value='" + select_old_value + "']").attr("disabled", false);
            });
            $(obj).children("option[value='" + op_val + "']:disabled").attr("disabled", false);
            $(obj).children("option[value='" + select_old_value + "']:disabled").attr("disabled", "disabled");
        }
    }
</script>

------------正 文 已 结 束, 感 谢 您 的 阅 读 (折雨的天空)--------------------

转载请注明本文标题和链接:《js里面获取select修改值以前的值

奖励一下

取消

分享不易,烦请有多多打赏,如您也困难,点击右边关闭即可!

扫码支持
扫码打赏,5元,10元,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

-秒后自动关闭,如已打赏,或者不愿打赏,请点击右上角关闭图标。

发表评论

路人甲 表情
看不清楚?点图切换

网友评论(5)

我是来打酱油的,求回访。
LED display 10年前 (2014-11-18) 回复
博主你好,需要独立IP主机吗,现在有活动“独立IP主机 终生3.8折  最后20个资源”,赶紧抢购。。转发有奖
香港独立IP主机 10年前 (2014-11-27) 回复
@香港独立IP主机:噢。暂时不需要,谢谢。
我好笨 10年前 (2014-12-04) 回复
这个方法不行
订单 9年前 (2016-06-14) 回复
@订单:这个代码好早以前的了。现在版本的jquery可能需要使用prop来替换attr。jquery变动还是大
我好笨 9年前 (2016-06-22) 回复