日期:2014-05-20  浏览次数:20427 次

三级联动,使用JS后,二联和三联的值取不到!帮忙啊
<%@   Page   EnableEventValidation= "false "   %>
<script   src= "fenlei.js "   type= "text/javascript "   language= "javascript "   charset= "GBK ">
<asp:DropDownList   ID= "bclass "   runat= "server ">
                        </asp:DropDownList> <asp:DropDownList   ID= "sclass "   runat= "server ">
                        </asp:DropDownList> <asp:DropDownList   ID= "threeclass "   runat= "server ">
                        </asp:DropDownList>
JS里面存放的是根据后台生成的数组,因为以前是在ASP里的,现在也沿用那个JS,但问题是联动效果是可以,就是得不到sclass,threeclass的值了
请问下,怎么才可以得到那些指啊!

------解决方案--------------------
把js代码放在下拉控件的后面试下.asp.net其实可以用asp.net的方法做的.
------解决方案--------------------
Request.Form[ " "] 试试
------解决方案--------------------
你看看你的客户端html代码DropDownList 的id是否改变了
因为你使用了.net的服务器 控件
当输出到客户端以后
DropDownList 控件的id会自动改变

------解决方案--------------------
你可以在最后一节菜单中添加一个事件,选择完成后即触发该事件,并用一个Hidden控件获取其组合值,然后通过Request.Form[ " "]获取Hidden内的值就可以了.
------解决方案--------------------
DropDownList控件,在前台用JS赋值后,当向服务器提交时,控件的值会丢失。
解决的办法是:

前台用 <input type= "hidden " id= "txta " name= "txta " runat= "server " /> 保存DropDownList控件的值,你有两个DropDownList就用两个隐藏控件。

后台用 txta.Value取值.

------解决方案--------------------
是由于前后台dropdownlist的选项不一致造成的. 简单一点的在后台连动. 如果一定要在前台连用,将选项的值保存在hidden中 page_load时根据hidden的值,改变服务器上 items的值.
------解决方案--------------------
既然你说能够连动那说明生成Clientid是相同的
试试
Request.Form[ "sclass "]