我直接将一个select对象放入数组后,发现取出来时对象里的所有options全部清空了,有什么办法可以将其放入数组后又能保留原数据取出呢?以下是我的代码:
listbox = $get(selectbox);
var selectBox = new Array();
selectBox.push(listbox);//取出时发现内容都为空了:
for (var i = 0, n = selectBox.length; i < n; i++) {
alert(selectBox[i].options[0].text);
}
listbox = $get(selectbox);
var selectBox = new Array();
selectBox.push(listbox);//取出时发现内容都为空了:
for (var i = 0, n = selectBox.length; i < n; i++) {
alert(selectBox[i].options[0].text);
}
selectBox.length = 1应该是selectBox[0].options.length
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head><body>
<select id='ss'>
<option value="1">1111</option>
<option value="2">2222</option>
<option value="3">3333</option>
<option value="4">4444</option>
</select>
<script>
var $ = function(id){return document.getElementById(id)}
var arr = new Array()
arr.push($('ss'))for (var i = 0, n = arr[0].options.length; i < n; i++) {
alert(arr[0].options[i].text);
}
</script>
</body>
</html>
var cr=new Criteria();
var $ = function(id){return document.getElementById(id)}cr.AddSelectBox($('ss'))
cr.AddSelectBox($('s2'))var selec=cr.GetSelectBox();for (var a = 0, b = selec.length; a < b; a++) {
for (var i = 0, n = selec[a].options.length; i < n; i++) {
alert(selec[a].options[i].text);
}
}function Criteria() {
this._selectBox = new Array();
this.AddSelectBox = function(listbox) { this._selectBox.push(listbox); }
this.GetSelectBox = function() { return this._selectBox; }}
以上代码在独立的HTML页面运行正常,只是如果用在AjaxMethod的提交后就获取不了值了,但如果我只保存文本或者是其他对象(如DIV)的话又是可以获取的,为什么就是select对象不行呢?奇怪。
(现在居然不能编辑自己的帖子了,记得以前可以的,郁闷.......)