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

ajax下拉框默认值问题急再线等~~~
我用ajax作了一个项目里面用到了三级联动,到修改页面传进id下拉框怎么显示相应id的值?
dropDownlist1.selectedvalue=id;这样怎么不行啊?
求高手帮帮我~不胜感激

------解决方案--------------------
这样试试
for (int i = 0; i < dropDownlist1.Items.Count; i++) {
if (dropDownlist1.Items[i].Value== id)
dropDownlist1.Items[i].Selected = true;
}
------解决方案--------------------
this.DropDownList1.SelectedItem.Selected = false;
this.DropDownList1.Items.FindByValue(id).Selected = true;

------解决方案--------------------
如果楼主用的是ajaxToolkit:CascadingDropDown3级联动,要反向设值是不太可能。

因为CascadingDropDown只有再你选了第1个列表,第2个列表才有值,选了第2个,第3个才有值,默认是后面2个没值的,所以没办法反向设置,除非3个下拉列表的值你都知道,然后首先用JS改变第1个列表的选中项,这个时候你又要去判断第2个什么时候加载完了值,再用JS去设置第2个列表的选中项。

比较复杂,而且又判断AJAX什么时候加载完也麻烦!!!

------解决方案--------------------
dropdownlist.options[0].value
------解决方案--------------------
我当时没解决这个问题。

后来还是变通了搞成其他方式了!!!
------解决方案--------------------
既然你是新打开一个修改页来修改,那你完全可以在修改页Load的时候给各个DropdownList绑定数据源,然后哪个dropdownlist默认选中哪项也可以在Load事件里根据传过来的值设定.这样应该不会影响你的Ajax才对.
------解决方案--------------------
你用的是Ajax.dll吧。
如果是这样,那么下拉列表中的内容是JS添加的,服务器端不能获取JS动态添加的内容,只能用Request.QueryString[ "ddlCity "]获得。

建议不要使用DropDownList,而是使用 <select runat= "Server "...>
------解决方案--------------------
to:jb88443655()

我说的变通的方法是这样的,可能是不适合。

我的联动列表是选择1个分类,用户要更新的时候才需要这种反向绑定下拉列表,
我在更新的时候先只显示给用户他以前选择的是什么分类(只文字显示),默认用户是比较少修改这个分类,所以默认不显示这个可以修改,如果他需要修改就点击1个修改按钮,然后显示AJAX联动列表让他选,但这个时候他还是要重新选过,这个显示的AJAX联动列表没有绑定他以前的选的值!!
------解决方案--------------------
如果楼主一定要用无刷新绑定,可以试试updatepanel控件
------解决方案--------------------
就用httpRequest的异步调用一个新页面就可以拉
<select id= "select1 " onchange= " " runat= "Server "> <option value= ' ' selected> ... </option> </select>
你把3级联动的代码放到onchange事件方法里面处理就是啦,你根据选择的option的值组合url得到
request_url,比如test.aspx?id=1
oXmlHttp.open( "POST ", request_url, true);
oXmlHttp.setRequestHeader( "content-type ", "application/x-www-form-urlencoded ");
oXmlHttp.onreadystatechange = function()
{
if (oXmlHttp.readyState == 4 && oXmlHttp.status == 200)
{div1.innerHTML=oXmlHttp.responseText;}
}
oXmlHttp.send(null);
} catch (e) {
// do nothing
}
------解决方案--------------------
感觉这样写比用updatepanel等自由性大多了
------解决方案--------------------
关注,帮顶,
------解决方案--------------------
js实现
ses = document.getElementById( " <%=dropDownlist1.ClientID%> ")
for(i = 0;i <ses.options.length;i++)
{
if(ses.options[i].value== "你的id ") ses.options[i].selected=true
}
------解决方案--------------------
顶。。。。