折雨的天空
js里面获取select修改值以前的值
2014-10-30 我好笨


假设一个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>



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

邮件地址 (选填)

个人主页 (选填)

内容