关于JS操作select的问题
在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代码如下:
JSCodefunction 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
