加为好友
发送私信
在线聊天
helocean
等级:
可用分等级:长工
总技术分:10
总技术分排名:220639
结帖率:33.33%
发表于:2008-11-17 09:52:01 楼主
我要达到的目的是当我选择两个下拉列表中一个的时候,我要同时带出另外一个对应的下拉列表的数据。但又一种情况:就是有些校验失败的话,我要重新加载在第一个下拉列表对应的第二个下拉列表的数据。 我的项目是asp.net 我是通过ajax把另外的一个下拉列表的数据通过json带出: //以下是带出对应的数据方法 function GetStatusByKpiTypeId(kpiTypeCtrl) { var kpiTypeId=kpiTypeCtrl.options[kpiTypeCtrl.selectedIndex].value; if(kpiTypeId.length!=0) { //服务器端的Ajax类方法 EasyTMS.App_Code.AjaxMethod.GetStatusByKpiTypeId(kpiTypeId,GetStatusByKpiTypeIdCallBack); } } function GetStatusByKpiTypeIdCallBack(res) { var ddlStartStatusCodeCtrl=document.getElementById(' <%=ddlEditStartStatusCode.ClientID %>').id; var ddlStopStatusCodeCtrl=document.getElementById(' <%=ddlEditStopStatusCode.ClientID %>').id; //Select是另外的一个js文件里面的对象 Select.clear(ddlStartStatusCodeCtrl); Select.clear(ddlStopStatusCodeCtrl); Select.addOption(ddlStartStatusCodeCtrl,'','-->请选择 <--'); Select.addOption(ddlStopStatusCodeCtrl,'','-->请选择 <--'); var jsonString = res.value; // 获取服务器返回的json字符串 if( jsonString!=undefined && jsonString!=null && jsonString.length!=0) { var jsonObj = null; try { jsonObj = eval('(' + jsonString + ')'); // 将json字符串转换成对象 Select.create(ddlStartStatusCodeCtrl, jsonObj,false); // 执行option的添加 Select.create(ddlStopStatusCodeCtrl, jsonObj,false); // 执行option的添加 var currentKpiTypeValue=document.getElementById(' <%=ddlEditKpiType.ClientID %>').value; //Set Value var hidTempKpiTypeValue=document.getElementById(' <%=hidTempKpiTypeId.ClientID %>').value; //我是通过以下两个隐藏的控件记录了那个被带出的下拉列表后,再选中的数据 var hidStartStatusCodeValue=document.getElementById(' <%=hidStartStatusCodeEditOrAdd.ClientID %>').value; var hidStopStatusCodeValue=document.getElementById(' <%=hidStopStatusCodeEditOrAdd.ClientID %>').value; SetOptionSelectByValue(hidStartStatusCodeValue,ddlStartStatusCodeCtrl); SetOptionSelectByValue(hidStopStatusCodeValue,ddlStopStatusCodeCtrl); } catch (ex) { return null; } finally { //设置记录控件为选择的值(在这两个下拉列表事件中就是给以上对应的hidStartStatusCodeEditOrAdd、hidStopStatusCodeEditOrAdd赋值) document.getElementById(ddlStartStatusCodeCtrl).onchange(); document.getElementById(ddlStopStatusCodeCtrl).onchange(); } } } //设置选择的值 function SetOptionSelectByValue(_value,_selectClientId) { //判断是否存在 var isExit = false; var objSelect=document.getElementById(_selectClientId); for(var i=0;i <objSelect.options.length;i++) { if(objSelect.options[i].value == _value) { objSelect.options[i].selected = true; isExit = true; break; } } }
问题点数: 20 回复次数:3
显示所有回复 显示星级回复 显示楼主回复
修改
删除
举报
引用
回复