打造最大的网络营销知识与推广的信息化航母

进入论坛 | 会员注册 | 会员登陆 |
首页 >> asp.net >> asp.net常见问题 >> 关于JS操作select的问题正文

关于JS操作select的问题

来源:it我领先 发布时间:2010-03-08               浏览次数:28 进入论坛社区

asp.net中,我用Jquery.append()去向select里面去动态添加一段我想要的下拉框列表,然而这一段列表是从后台读取的, 具体代码如下:

代码
        protected void Page_Load(object sender, EventArgs e)
{
if(!ispostback)
{
response.context=双引号text/plain双引号;
response.write(ProvinceBind());
}
}

private string ProvinceBind()
{
string filePath = Server.MapPath(双引号../Config/ProvinceCD.config双引号);
DataTable dataTable = WebCommon.Second.ReadProvinceToDataTable(filePath);//将XML文件读成DataTable
System.Text.StringBuilder sb = new System.Text.StringBuilder();
for (int i = 0; i < dataTable.Rows.Count; i++)
{
sb.AppendFormat(双引号<option value=双引号{0}双引号>{1}</option>双引号, dataTable.Rows[i][双引号ID双引号].ToString(), dataTable.Rows[i][双引号City双引号].ToString());
}
return sb.ToString();
}

JS代码如下:

JSCode
function BodyOnLoad()
{
var url = 双引号../Ajax/AjaxReadDropDL.aspx双引号;
$.get(url,function(data){
$(双引号#SelProvince双引号).append(data);
});

if(CheckAddOrUpdate() != 0)
{
var obj = document.getElementById(双引号SelProvince双引号);
for(var i=0;i<obj.options.length;i++)
{
if(obj.options[i].value == $(双引号#HidProvince双引号).val())
{
obj.selectedIndex = i;
}
}
}
}

但是我的下拉框列表并没有变成我需要的那一项,

于是我想可能是JS的问题,我就把这一段JS拿去在EditPlus里面去单独测试,发现这一段代码是可行的,

我又想难道是运行机制的问题,没有获取到HidProvince的最新值?

因为我默认的是0,怕是值没有改变,于是我又用去测试,发现值是获取到最新的值了;

但是问题就是我的下拉框没有选中我想要的那一项.

提问者:双调 - 初学一级
问题补充:我在body外又做了一个alert(document.getElementById("SelProvince").options.length); 结果弹出是1,
这就让我很郁闷了,明明游览器里面有三个option,但是弹出的对话框只有1,这是什么原因,

所有回答(2)文章来源:http://it503.com/detail.PHP
添加收藏到:

关键词:关于JS操作select的问题,aspx
联系我们 | 关于我们 | rss订阅 | 网络社区 | 网站帮助 | 网站地图
Copyright(C) 2006-2007 it503 All Rights Reserved
本站如有转载或引用的文章涉及版权问题请速与我们联系 由于将本站资源用于商业用途而引起的纠纷,本站不负任何责任。
冀ICP备07500673号