[GridView中的DropDownList]在线=呢 急!!
//ddl.Attributes.Add( "onchange ", "javascript:return confirm( '你确定要改变分组吗? '); ");
用onchange的时候点击“取消”虽然不会触发服务器事件,但选择的项确实是改变了,理论上点取消应该是回到最初的状态(没改变选项以前),但现在却是改变后的值
ddl.Attributes.Add( "onclick ", "javascript:return confirm( '你确定要改变分组吗? '); ");
用onclick的话只要点击就会警告,点“确定”,去改变选项时,又会触发onclick成了个列循环
大家可以简单的在自己机器上试下。
不知道能不能解决这个问题,JS不是太好。
在线=
------解决方案--------------------jf
------解决方案--------------------JF
------解决方案--------------------onchange是在变化了之后才触发的,弹出之前已经变了。
你可以使用一个中间变量纪录上次的选择
------解决方案--------------------//ddl.Attributes.Add( "onchange ", "javascript:return confirm( '你确定要改变分组吗? '); ");
用onchange的时候点击“取消”虽然不会触发服务器事件,但选择的项确实是改变了,理论上点取消应该是回到最初的状态(没改变选项以前),但现在却是改变后的值
=========
onchange 事件是在选择项改变之后触发的!!!!
此时值已经改变了!!!!
------解决方案--------------------百忙之中抽空JF~
------解决方案--------------------onclick?
------解决方案--------------------aj接分
------解决方案--------------------群里的,接分!
------解决方案--------------------ddl.Attributes.Add( "onchange ", "return Select(); ");
<script>
var index=form1.ddl.selectedIndex;
function select()
{
if(confirm( '你确定要改变分组吗? '))
{
return true;
}
else
{
form1.ddl.selectedIndex=index;
return false;
}
}
</script>
------解决方案--------------------JS部分
<script type= "text/javascript " language= "javascript ">
var DropSelectdIndex;
function SaveValue()
{
var oEl = event.srcElement;
DropSelectdIndex = oEl.selectedIndex;
}
function TabValue()
{
var oEl = event.srcElement;
if (!confirm( '确认要更改? '))
oEl.selectedIndex = DropSelectdIndex;
}
</script>
Html部分
<asp:DropDownList ID= "DropDownList1 " runat= "server ">
<asp:ListItem> 1 </asp:ListItem>
<asp:ListItem> 2 </asp:ListItem>
<asp:ListItem> 3 </asp:ListItem>
<asp:ListItem> 4 </asp:ListItem>
</asp:DropDownList>
CS部分
this.DropDownList1.Attributes.Add( "onclick ", "SaveValue() ");
this.DropDownList1.Attributes.Add( "onchange ", "TabValue() ");
这样就能解决你的问题了