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一点一点地弹出慢慢调吧!
[解决办法]
[解决办法]
忘了在哪里看到过,也许早期版本的jquery有这个问题。把change改成.bind('change', function()试试看