用jquery+.net做三级联动出现的问题,第二个下拉框在特定情况下不触发onchange事件,求帮助
//绑定省份下的城市
$('#SelProvince').change(function() {
// $('#SelArea').attr('disabled', 'disabled');
AjaxRequstFn('SelProvince', 'SelCity', 'bigtype','bid2');
ClearData('SelArea');
$('#SelCity').val('0');
});
//绑定城市下的地区
$('#SelCity').change(function() {
AjaxRequstFn('SelCity', 'SelArea', 'type','bid');
});
以上是js代码,具体的执行不贴了,因为不是问题的重点
<asp:ListBox ID="SelProvince" runat="server" Width="250" Height="220">
<asp:ListItem Text="请选择" Value="0"></asp:ListItem>
</asp:ListBox>
<asp:ListBox ID="SelCity" runat="server" Width="250" Height="220" >
<asp:ListItem Text="请选择" Value="0"></asp:ListItem>
</asp:ListBox>
<asp:ListBox ID="SelArea" runat="server" Width="250" Height="220">
<asp:ListItem Text="请选择" Value="0"></asp:ListItem>
</asp:ListBox>
这三个是前台,本来三级联动是没有问题的,问题出在这里,(有点绕的说)
当选择第二个列表框的某一个值后,会被触发onchange事件二为第三个表框绑定新值,
但是这时,如果再重新选择一下第一个列表框的值,然后不选择第二个列表框,直接再选回第一个列表框之前的值,
这时第三个列表框是被清空的,然后再选择第二个列表框的之前选中的那个值时,onchange事件不触发!如果选了其他的值,就可以触发,感觉好像是第一次选择第二个列表框后程序还一直记得它的值,虽然后来更换过一级菜单,二级列表框虽然值都换了,但是没有点击,所以程序还一直会保留之前的值,我试过在一级列表框onchange事件里的最后设置上二级列表框的值为0,但是不管用!这是bug啊…… 求助求助