当select的下拉菜单发现改变时,如何写事件,满足条件时改变,不满足则不改变呢? 本帖最后由 nono_thin 于 2014-11-05 09:25:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><body><select class="Enable" id='test'> <option value="0">否</option> <option value="1">是</option></select><script type="text/javascript">var i=0,k=0;var d=document.getElementById('test');d.onchange=function(){ i&1&&(this.selectedIndex=k); k=this.selectedIndex; i++;}</script></body></html>??不明白你的意思 我是一个列表里的,每一个tr都有一个select,所以不能绑定id。还有其他办法么? 把你的需求说清楚你的变量 i 和select有什么关系啊。最好把你页面贴出来 完全晕菜了var i=0;//对select进行监听,当i是偶数时,发生变化,i=i+1;//当i是奇数时,不发生变化,i=i+1i 为什么自己会无缘无故变化啊是不是操作了select才变化的啊?当select选择了是或者否 i 才变化的啊? 2楼的兄台也迷糊了honey只有你还清醒奥 i只是计数的作用啊,为了后面的奇偶判断啊~~可能我这里描述的有歧义,重新描述下:var i=0;//对select进行监听,当i是偶数时,下拉菜单发生变化,i=i+1;//当i是奇数时,下拉菜单不发生变化,即依然是改变之前的值,i=i+1 仔细看#7我提出两个问题你这个和没说一样啊是不是当select选择不同的值时 i 才有变化的?你粘贴出来那个select和i有什么关系? 哎呀~~1、select与i的关系:只要你select触发了change事件,i就变化,无论你选的是什么;2、我的本意是希望:当select的下拉菜单发现改变时,如何写事件,在其满足条件时改变,不满足则不改变呢?还想着举个需求,方便你们解决问题,结果越说越乱了。。 LZ 你的意思是 select 触发onchange事件之后,需要进行一个判断。如果是True 就是触发一个你的自定义事件,False 就不触发 是吗 就是下拉菜单"是或者否",当我从“是”变成“否”(反之也一样)时,我有一个post请求(这个就不用知道了吧):1)请求成功,下拉菜单显示“否”;2)请求失败,下拉菜单依然显示“是”。现在,问题描述够清晰了嘛~~~~~ 嗯嗯,奏是奏是,当我从“是”变成“否”(反之也一样)时,需要进行一个判断:1)true,该下拉菜单显示“否”;2)false,该下拉菜单依然显示“是”。 这个好弄:“是”变“否”(反之也一样)时,触发"onchange",在onchange的函数体里,先移除select的onchange事件,发ajax请求,在ajax请求的回调中判断是否成功,成功则重新绑定onchange事件,失败则先将select重选为是,再重新绑定onchange事件。没试过,应该是这样的。 jquery 如何读取json文件 请教一个简单的正则式,谢谢 innerHTML 问题 为什么setInterval只执行一次? 能否给页面中的一个iframe定义事件? 发现了一个IE很怪的问题,寻求热心人解答! 求一段javascript程序,类似自动滚屏 在线等!!!在弹出窗口的url显示从父窗口页面的值? 求代码:禁止在文本框内输入0至9之外的字符 如何取得table中的一项作为变量? 网站上货币型的数据用图片显示出来 表单验证内嵌出错信息 怎么不对啊
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head><body>
<select class="Enable" id='test'>
<option value="0">否</option>
<option value="1">是</option>
</select>
<script type="text/javascript">
var i=0,k=0;
var d=document.getElementById('test');
d.onchange=function(){
i&1&&(this.selectedIndex=k);
k=this.selectedIndex;
i++;
}
</script>
</body>
</html>??不明白你的意思
我是一个列表里的,每一个tr都有一个select,所以不能绑定id。还有其他办法么?
var i=0;
//对select进行监听,当i是偶数时,发生变化,i=i+1;
//当i是奇数时,不发生变化,i=i+1
i 为什么自己会无缘无故变化啊是不是操作了select才变化的啊?
当select选择了是或者否 i 才变化的啊?
可能我这里描述的有歧义,重新描述下:var i=0;
//对select进行监听,当i是偶数时,下拉菜单发生变化,i=i+1;
//当i是奇数时,下拉菜单不发生变化,即依然是改变之前的值,i=i+1
是不是当select选择不同的值时 i 才有变化的?
你粘贴出来那个select和i有什么关系?
1、select与i的关系:只要你select触发了change事件,i就变化,无论你选的是什么;
2、我的本意是希望:当select的下拉菜单发现改变时,如何写事件,在其满足条件时改变,不满足则不改变呢?
还想着举个需求,方便你们解决问题,结果越说越乱了。。
如果是True 就是触发一个你的自定义事件,
False 就不触发 是吗
1)请求成功,下拉菜单显示“否”;
2)请求失败,下拉菜单依然显示“是”。
现在,问题描述够清晰了嘛~~~~~
1)true,该下拉菜单显示“否”;
2)false,该下拉菜单依然显示“是”。
“是”变“否”(反之也一样)时,
触发"onchange",
在onchange的函数体里,先移除select的onchange事件,发ajax请求,在ajax请求的回调中判断是否成功,成功则重新绑定onchange事件,失败则先将select重选为是,再重新绑定onchange事件。没试过,应该是这样的。