当select的下拉菜单发现改变时,如何写事件,满足条件时改变,不满足则不改变呢?

nono_thin 2014-11-05 09:24:10
问题,如标题。样例如下:
script:

var i=0;
//对select进行监听,当i是偶数时,发生变化,i=i+1;
//当i是奇数时,不发生变化,i=i+1


Html:

<select class="Enable">
<option value="0">否</option>
<option value="1">是</option>
</select>
...全文
892 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
闪闪放光芒 2014-11-05
  • 打赏
  • 举报
回复
一句话跪拜了
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
引用 10 楼 u010036886 的回复:
仔细看#7我提出两个问题你这个和没说一样啊 是不是当select选择不同的值时 i 才有变化的? 你粘贴出来那个select和i有什么关系?
哎呀~~ 1、select与i的关系:只要你select触发了change事件,i就变化,无论你选的是什么; 2、我的本意是希望:当select的下拉菜单发现改变时,如何写事件,在其满足条件时改变,不满足则不改变呢? 还想着举个需求,方便你们解决问题,结果越说越乱了。。
闪闪放光芒 2014-11-05
  • 打赏
  • 举报
回复
仔细看#7我提出两个问题你这个和没说一样啊 是不是当select选择不同的值时 i 才有变化的? 你粘贴出来那个select和i有什么关系?
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
引用 8 楼 u010036886 的回复:
2楼的兄台也迷糊了honey只有你还清醒奥
i只是计数的作用啊,为了后面的奇偶判断啊~~ 可能我这里描述的有歧义,重新描述下:

var i=0;
//对select进行监听,当i是偶数时,下拉菜单发生变化,i=i+1;
//当i是奇数时,下拉菜单不发生变化,即依然是改变之前的值,i=i+1
闪闪放光芒 2014-11-05
  • 打赏
  • 举报
回复
2楼的兄台也迷糊了honey只有你还清醒奥
闪闪放光芒 2014-11-05
  • 打赏
  • 举报
回复
完全晕菜了 var i=0; //对select进行监听,当i是偶数时,发生变化,i=i+1; //当i是奇数时,不发生变化,i=i+1 i 为什么自己会无缘无故变化啊是不是操作了select才变化的啊? 当select选择了是或者否 i 才变化的啊?
似梦飞花 2014-11-05
  • 打赏
  • 举报
回复
额 非常不清楚
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
引用 4 楼 u010036886 的回复:
把你的需求说清楚你的变量 i 和select有什么关系啊。最好把你页面贴出来
没有什么具体的关系啊~~ 页面比较麻烦,所以我才举个简单的例子呀,你只要满足我的条件就好啦。。 而且这个说的还不够清楚么
闪闪放光芒 2014-11-05
  • 打赏
  • 举报
回复
把你的需求说清楚你的变量 i 和select有什么关系啊。最好把你页面贴出来
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
引用 2 楼 zzgzzg00 的回复:
<!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。还有其他办法么?
似梦飞花 2014-11-05
  • 打赏
  • 举报
回复
<!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>
??不明白你的意思
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
这个好弄: “是”变“否”(反之也一样)时, 触发"onchange", 在onchange的函数体里,先移除select的onchange事件,发ajax请求,在ajax请求的回调中判断是否成功,成功则重新绑定onchange事件,失败则先将select重选为是,再重新绑定onchange事件。 没试过,应该是这样的。
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
引用 14 楼 liuxingfffff 的回复:
LZ 你的意思是 select 触发onchange事件之后,需要进行一个判断。 如果是True 就是触发一个你的自定义事件, False 就不触发 是吗
嗯嗯,奏是奏是,当我从“是”变成“否”(反之也一样)时,需要进行一个判断: 1)true,该下拉菜单显示“否”; 2)false,该下拉菜单依然显示“是”。
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
就是下拉菜单"是或者否",当我从“是”变成“否”(反之也一样)时,我有一个post请求(这个就不用知道了吧): 1)请求成功,下拉菜单显示“否”; 2)请求失败,下拉菜单依然显示“是”。 现在,问题描述够清晰了嘛~~~~~
liuxingfffff 2014-11-05
  • 打赏
  • 举报
回复
LZ 你的意思是 select 触发onchange事件之后,需要进行一个判断。 如果是True 就是触发一个你的自定义事件, False 就不触发 是吗
nono_thin 2014-11-05
  • 打赏
  • 举报
回复
引用 12 楼 u010036886 的回复:
一句话跪拜了
我也跪了。。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧