求助,js 添加 option

slysmart 2012-06-12 11:59:48
<%=request("aa")%>
<script language="javascript">
<!--
function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var oOption=new Option(arguments[i],arguments[i]);
document.getElementById("MySelect")[i]=oOption;
}
}
function watch_add(f,prj_vlaue){ // 增加
var oOption=new Option(prj_vlaue,prj_vlaue);
f.keywords[f.keywords.length]=oOption;
}
function watch_del(f){ // 删除
f.keywords.remove(f.keywords.selectedIndex);
}
//-->
</script>
<form name="form1" method="get" action="">
<table width="404" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="400" height="25" ><div id="prjname" ></div></td>
</tr>
<tr>
<select id="MySelect" name="keywords" size="10" ></select>
</tr>
</table>
<input type="submit" value="提交" name="add" />
<input type="button" value="删除" onclick="watch_del(this.form);" />
</form>

现在提交后能得到<%=request("aa")%>值,如何通过 watch_add(f,prj_vlaue)函数添加option呢?
折腾很久没整出来。。。。(我要的效果是可以添加多少option)
...全文
235 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
slysmart 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
<form name="form1" method="get" action="">
<table width="404" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="400" height="25" ><div id="prjname" ></div></td>
</tr>
……
[/Quote]
这样不能连续添加的(可以添加多个),每次传过来<%=request("aa")%>不同
001007009 2012-06-12
  • 打赏
  • 举报
回复

<form name="form1" method="get" action="">
<table width="404" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="400" height="25" ><div id="prjname" ></div></td>
</tr>
<tr>
<select id="MySelect" name="keywords" size="10" ></select>
</tr>
</table>
<input type="submit" value="提交" name="add" />
<input type="button" value="删除" onclick="watch_del(this.form);" />
</form>
<script language="javascript">
<!--
function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var oOption=new Option(arguments[i],arguments[i]);
document.getElementById("MySelect")[i]=oOption;
}
}
function watch_add(f,prj_value){ // 增加
f.add(new Option(prj_value, prj_value));
}
var test = '<%=request("aa")%>';
var obj = document.getElementById('MySelect');
watch_add(obj, test)
function watch_del(f){ // 删除
f.keywords.remove(f.keywords.selectedIndex);
}
//-->
</script>



这个意思?
乌镇程序员 2012-06-12
  • 打赏
  • 举报
回复
function watch_add(f, prj_value) {
f.keywords.add(new Option(prj_value, prj_value), null);
}
乌镇程序员 2012-06-12
  • 打赏
  • 举报
回复
//用Select对象的add方法添加选项
//下面这行代码的作用是向id值为MySelect的下拉列表添加一个内容为DEMO、值为TEST的选项
document.getElementById('MySelect').add(new Option('DEMO', 'TEST'), null);
slysmart 2012-06-12
  • 打赏
  • 举报
回复
document.getElementById("prjname").innerHTML 改成为:
document.getElementById("prjname").innerText
添加项为
2图,下拉框所有值,如何才能得到选中值呢
slysmart 2012-06-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

form提交会导致DOM重绘的,
要么 aa 多接收点值,对值进行拆解
要么记录seesion或cookie
[/Quote]
谢谢!
<script language="javascript">
<!--
function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var oOption=new Option(arguments[i],arguments[i]);
document.getElementById("MySelect")[i]=oOption;
}
}
function watch_add(f){ // 增加
var oOption=new Option(document.getElementById("prjname").innerHTML,document.getElementById("prjname").innerHTML);
f.keywords[f.keywords.length]=oOption;
}
function watch_del(f){ // 删除
f.keywords.remove(f.keywords.selectedIndex);
}
//-->
</script>
<form name="form1" method="get" action="">
<table width="404" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="400" height="25" ><div id="prjname" ></div></td>
</tr>
<tr>
<select id="MySelect" name="keywords" size="10" ></select>
</tr>
</table>
<script language="javascript">
<!--
watch_ini("我","你","妳","他","她","它","尔"); // 初始关键词
//-->
</script>
<input type="button" value="增加" name="add" onclick="watch_add(this.form);"/>
<input type="button" value="删除" onclick="watch_del(this.form);" />
</form>

图一(数据库中查询得到)



如何能添加图2的选中项,而不是所有相
001007009 2012-06-12
  • 打赏
  • 举报
回复
form提交会导致DOM重绘的,
要么 aa 多接收点值,对值进行拆解
要么记录seesion或cookie

87,915

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧