页面上有2个下拉框省份和城镇,及一个按钮。
在form_load中:
if(!IsPostBack)
{init();//初始化省份}
//ajax回发
//根据省份得到该省份的城镇
Response.Write(城镇数据);Response.End();在页面的html代码中省份的单击事件:
{
ajax.open("Get","Register.aspx?txtCity=" + parm,true);
ajax.onreadystatechange=CallBackFunCity;
ajax.send(null);
}
在回调函数中:
{
var areas = ajax.responseText;
areas = areas.split(",");
Form1.ddlArea.options.length = 0;
for(var i = 0; i<areas.length; i++){
var oOption = document.createElement('OPTION');
oOption.text = areas[i];
oOption.value = areas[i];
Form1.ddlArea.options.add(oOption); 
}
}现在的问题是能够正常联动,页面显示也正常,但是点按钮提交时,却得不到所选择的城镇,只能显示其初始化时候的默认值。
比如说:页面加载时省份框显示"北京、上海","北京"默认选中,城镇框显示"朝阳区、东城区","朝阳区"默认选中。现在我选择"上海"-->"浦东",页面显示正常,但按确定按钮时,下拉框的selectItem.text的值确定一直是"朝阳区",为什么呢???

解决方案 »

  1.   

    但按确定按钮时,下拉框的selectItem.text的值确定一直是"朝阳区",为什么呢???
    ============
    很简单啊,页面又重新提交了一次,当然重新加载了
      

  2.   

    后台使用Request.Params["ddlArea"]试一试
      

  3.   

    Request.Params["ddlArea"]可以得到Text值,但怎么得到Value值呢
      

  4.   

    用Request.Form()可以获得的 我也遇到过这种问题 this.dlCity.Selected.value 是取不到的
      

  5.   

    Request.Params["ddlArea"]取得的就是value值。看看这里oOption.text = areas[i];
    oOption.value = areas[i];text和value赋值是一样的。看你的程序好像ajax请求返回来的只是一个城市的字符串,根本就没有返回value值,也就是说option上的value值也是城市的名称,当然只能得到和text一样的值