function AddOption(BuMen_Id, BuMen_Name) { var BuMen_ID = "";
var BuMen_NAME = ""; $("#BenXiaoZuoZhe_BuMen_0").empty();
var html = "";
for (var i = 0; i < BuMen_Id.length; i++) { BuMen_ID = BuMen_Id[i].substring(1, (BuMen_Id[i].length - 1));
BuMen_NAME = BuMen_Name[i].substring(1, (BuMen_Name[i].length - 1));
html += "<option value=\"" + BuMen_ID + "\">" + BuMen_NAME + "</option>";
}
$(html).appendTo("#BenXiaoZuoZhe_BuMen_0");
alert(html);
}以上是js代码,参数:BuMen_Id,BuMen_Name分别为传过来作为value和text的数组,
用for循环解析后,形成一个这样的字符串:<option value="SD001T0501">软件工程系</option><option value="SD001T0502">计科系02</option><option value="SD001T0503">计科系03</option>最后一句alert出的语句。前台:
<td style="text-align: center">
<select name="BenXiaoZuoZhe_BuMen_0" runat="server">
</select>
</td>我试了很多次,
方法:document.form1.BenXiaoZuoZhe_BuMen_0.options.add(new Option(BuMen_ID, BuMen_NAME));没用,行不通。前台name改为id不行,前台用
<asp:DropDownList ID="BenXiaoZuoZhe_BuMen_0" runat="server">
</asp:DropDownList>也不行,大家帮我看看是哪个地方出了问题??搞了一晚上了
前台需要的id没有,应该设置id,不是name
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>jquery 向下拉单添加选项问题</title>
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
</head>
<body>
<table>
<tr>
<td style="text-align: center">
<select id="BenXiaoZuoZhe_BuMen_0"></select>
</td>
</tr>
</table>
<script language="javascript">
function AddOption(BuMen_Id, BuMen_Name)
{
var BuMen_ID = "";
var BuMen_NAME = "";
$("#BenXiaoZuoZhe_BuMen_0").empty();
var html = "";
for (var i = 0; i < BuMen_Id.length; i++) {
BuMen_ID = BuMen_Id[i].substring(0, (BuMen_Id[i].length));
BuMen_NAME = BuMen_Name[i].substring(0, (BuMen_Name[i].length));
html += "<option value=\"" + BuMen_ID + "\">" + BuMen_NAME + "</option>";
}
$("#BenXiaoZuoZhe_BuMen_0").append(html);
alert(html);
}
var BuMen_Id = new Array('SD001T0501','SD001T0502','SD001T0503');
var BuMen_Name = new Array('软件工程系','计科系02','计科系03');
window.onload=AddOption(BuMen_Id,BuMen_Name);
</script>
</body>
</html>
你可以用这段代码试试,我调试过,可行的。
appendTo() 向匹配的元素内部追加内容。
这个网址可以参考学习下
但是初期的时候
var BuMen_ID = "";
var BuMen_NAME = "";
你又将参数的值清空了。
然后
for (var i = 0; i < BuMen_Id.length; i++)
你认为会是什么结果呢?
<body>
<select></select>
<button>addOption</button><script language="javascript">
val i = 0;
$("button").click(function(){
$("select").append("<option value=" + i +">" + i+++"</option>");
});
</script>
</body>
这个我试了啊,可是还是不行,jquery-1.3.2.min.js引用也改到本地了,可是就是不动,我同一个界面里面还有用同一种方法想div里面添加代码的,那个行得通,这个就是不干,这到底是肿么了!?
大小写不同啊,js对此是敏感的。我得出的语句
<option value="SD001T0501">软件工程系</option>
<option value="SD001T0502">计科系02</option>
<option value="SD001T0503">计科系03</option>
是调试出来的,这个没有问题