首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

DropdownList change 事件只触发一次?该如何处理

2012-08-08 
DropdownList change 事件只触发一次?jQuery代码:JScript code$(document).ready(function(){//获取项目下

DropdownList change 事件只触发一次?
jQuery代码:

JScript code
$(document).ready(function(){        //获取项目下拉框的值(项目编号)        var ddlxm=$("#<%=drpXMName.ClientID %>");        ddlxm.change(function(){             $.post(               "../ajax/GetHTByObjHandler.ashx",               {xmNumber:$('#<%=drpXMName.ClientID %> option:selected').val()},               function(results){                    $("#divht").val(results);                                         }),"html";        })    })

Haddler里面的代码:
C# code
 context.Response.ContentType = "text/html";        //读取传过来的项目        string xmNumber = context.Request.QueryString["xmNumber"];        HTBLL bll = new HTBLL();        IList<Tb_HTInfo> list = bll.GetHTMessageByObjNumber(xmNumber);        StringBuilder sd = new StringBuilder();        sd.Append("<select id=\"ddlHT\"> runat=\"server\"");        sd.Append("<option value=\"--请选择--\"  selected=\"selected\">--请选择--</option>");        if (list.Count > 0)        {            for (int i = 0; i < list.Count; i++)            {                sd.Append("<option value=\""+list[i].Ht_HTnumber+"\"  selected=\"selected\">"+list[i].Ht_HTName+"</option>");            }        }        sd.Append("</select>");        context.Response.Write(sd);

为什么第一次会触发下拉框的change事件并且进入到Haddler里面,可是只会进入一次?后面就不再触发change事件了?是怎么回事?还是说一般不用change事件来实现这个功能?那用哪个事件?求高手,在线等

[解决办法]
 
调试一下JS看看 alert能弹出来么

[解决办法]
浏览器缓存了第一次访问的结果,因为你第二次访问传递参数没变化,所以浏览器就用第一次的结果显示
[解决办法]
autopostback=true
[解决办法]
js调错的话,只能用alert一点一点地弹出慢慢调吧!
[解决办法]
探讨

引用:
浏览器缓存了第一次访问的结果,因为你第二次访问传递参数没变化,所以浏览器就用第一次的结果显示

那为什么第一次调试的时候可以进入到Haddler里面?而第二次调试的时候都不进入Haddler?

[解决办法]
忘了在哪里看到过,也许早期版本的jquery有这个问题。把change改成.bind('change', function()试试看

热点排行