日期:2014-05-18  浏览次数:20550 次

[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() ");

这样就能解决你的问题了