dropdownlist添加属性的onchange事件,怎么执行??

xuanqust 2007-02-07 03:23:43
代码如下:this.DropDownList1.Attributes.Add("onchange","load(this.options[this.selectedIndex].value);");我在后台添加如上代码,html代码
<script language="javascript">
function load(state)
{
var drp2=document.getElementById("DropDownList2");
for(i=drp2.length;i>=0;i--)
{
drp2.options.remove(i);
}
var oHttpReq=new ActiveXObject("MSXML2.XMLHTTP");
var oDoc=new ActiveXObject("MSXML2.DOMDocument");
oHttpReq.open("POST","getdata.aspx?state="+state,false);
oHttpReq.send("");
result=oHttpReq.responseText;
oDoc.loadXML(result);
items1=oDoc.selectNodes("//PC1/Table/cId");
items2=oDoc.selectNodes("//PC1/Table/cName");
var itemsLength=items1.length;
for(i=0;i<itemsLength;i++)
{
var newOption=document.createElement("OPTION");
newOption.text=items2[i].text;
newOption.value=items2[i].text;
drp2.options.add(newOption);
}
}
window.onload=function()
{
load('1');
}

</script>
为什么dropdownlist在改变时,onchage事件怎么不执行呢??没有任何反应,我做的时省市联动菜单,dropdownlist1和dropdownlist2我没有做任何修改?? 求救!!!!
在线等....
...全文
1432 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
看了下你的source
首先这一句 for(i=drp2.length;i> =0;i--)
不是i> =0
是i >= 0,多了一个空格
另外"DropDownList2 ","MSXML2.XMLHTTP ""MSXML2.DOMDocument "这些字符串中多了空格,好好检查source吧,用vs来debug,一步一步走下就知道错在哪里了。
ps:取得选择值这种方式是没有问题的
hza_lifengqi001 2012-08-30
  • 打赏
  • 举报
回复
直接在前台写就可以了,没有必要在后台用添加属性的方法进行添加的啊。
best8625 2007-02-07
  • 打赏
  • 举报
回复
晕倒,楼主不想刷回去当然不用AutoPostBack了,
后台代码就像你那样加,不过不传那个值,而是把整个DropdownList的Id传过去,然后判断Value,楼主看着办一下吧,嘿嘿。。
fuction load(drop)
{
document.getElementById(drop.id).value==某个值;//在这儿进行判断操作
...

...
}

在前台的页面是不能加onchange的,只能加到后台用楼主的方法加上去,例如

this.DropDownList1.Attributes.Add("onchange","javascript:return load(DropDownList1);");

sbqcel 2007-02-07
  • 打赏
  • 举报
回复
var drp1=document.getElementById("DropDownList1");
VAR drp1Value = drp1.value;//这就是当前DropDownList1选择的值
yiyoo 2007-02-07
  • 打赏
  • 举报
回复
我怎么没找到onchange事件呢,,是不是OnSelectedIndexChanged
xuanqust 2007-02-07
  • 打赏
  • 举报
回复
怎么取 啊??帮忙写写好不好,谢了!!
jamfchan 2007-02-07
  • 打赏
  • 举报
回复
Autopostback和onchange两者只能选一个。
sbqcel 2007-02-07
  • 打赏
  • 举报
回复
传什么啊;
每当change的时候都会调用load函数;在那里取不就是好了吗????
xuanqust 2007-02-07
  • 打赏
  • 举报
回复
load()我想要得就是得到当前dropdownlist改变时selectvalue得值,但是不知道怎么传
yuanyuyuyu 2007-02-07
  • 打赏
  • 举报
回复
倒!你把参数带进去啊 ~
sbqcel 2007-02-07
  • 打赏
  • 举报
回复
load() 里得不到DropDownList1当前选的值吗??
xuanqust 2007-02-07
  • 打赏
  • 举报
回复
我在html里写<asp:dropdownlist id="DropDownList1" style="Z-INDEX: 101; LEFT: 152px; POSITION: absolute; TOP: 64px"
runat="server" onchange="load()"> onchange事件,该怎么写??我写那个得不到数据啊??
yuanyuyuyu 2007-02-07
  • 打赏
  • 举报
回复
this.DropDownList1.Attributes 应该只能通过服务器来反馈~你要做一个无刷新的话用
<ajaxpanel>吧~很简单
sbqcel 2007-02-07
  • 打赏
  • 举报
回复
应为你每次dropdownlist发生改变时向服务器回发
这样每次都会执行
window.onload=function()
{
load('1');
}
所以建议直接在html里写onchange
xuanqust 2007-02-07
  • 打赏
  • 举报
回复
关键时,不提交服务器,那么在pageload事件中的this.DropDownList1.Attributes.Add("onchange","load("+DropDownList1.SelectedValue+");");是不是不执行啊??
sbqcel 2007-02-07
  • 打赏
  • 举报
回复
你在load方法前面吧你传进去的参数值alert出来看看
我可能搞错了;不好意思
xuanqust 2007-02-07
  • 打赏
  • 举报
回复
谢谢,但是我dropdownlist发生改变时.那个this.DropDownList1.Attributes.Add("onchange","load("+DropDownList1.SelectedValue+");");还是原来第一次加载时的值,没有改变?怎么回事??
xuanqust 2007-02-07
  • 打赏
  • 举报
回复
帮忙看看javascript代码嘛??看看那个地方错了....谢谢了.
sbqcel 2007-02-07
  • 打赏
  • 举报
回复
this.DropDownList1.Attributes.Add("onchange","load("+DropDownList1.SelectedValue+");");
sbqcel 2007-02-07
  • 打赏
  • 举报
回复
this.DropDownList1.Attributes.Add("onchange","load(this.options[this.selectedIndex].value);");
===〉
this.DropDownList1.Attributes.Add("onchange","load("+DropDownList1.SelectedValue+");");
加载更多回复(19)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧