如何将列表框里的值 都取出来?高手进

zjzb0409 2008-11-26 05:04:13
我从左边选择 然后添加到右边 右边的列表框里的值 如何取出来呢 由于是多个选项 我需要的是 有多少项都能正确的读出来 然后我写到表里 功能如图


代码 我取关键的
<SCRIPT language="javascript">

function AddSubject(locs,mylocs,txthh)
{
for(var i=0;i<locs.length;i++)
{
if(mylocs.length>=50) return;
var opt = locs.options[i];
if(opt.selected)
{
var flag = true;
if(opt.value=="") continue;
for(var j=0;j<mylocs.length;j++)
{
var myopt = mylocs.options[j];

if(myopt.value == opt.value)
{
flag = false;
break;
}
}
if(flag)
{
mylocs.options[mylocs.options.length] = new Option(opt.text, opt.value, 0, 0);
}
}
}
GetSubject(mylocs,txthh);
}
function DelSubject(mylocs,txthh)
{
for(var i=mylocs.length-1;i>=0;i--)
{
var opt = mylocs.options[i];
if(opt.selected)
{
mylocs.options[i] = null;
}
}
GetSubject(mylocs,txthh);
}
function GetSubject(mylocs,txthh)
{
var vv = "";
for(var i=0;i<mylocs.length;i++)
{
var opt = mylocs.options[i];
vv += opt.value + ",";
}
txthh.value = vv;
}

</SCRIPT>

这块是 添加科目时
<P><INPUT onclick='AddSubject(document.all("lstSubject"),document.all("lstMySubject"),document.all("txtHidden"))'
type="button" size="20" value="添加科目>>"></P>
添加请先选左侧<BR>
项目点“添加”<BR>
删除请先选右侧<BR>
项目点“删除”
lstSubject就是选择的内容 lstMySubject就是添加后的列表 我就是想把 lstMySubject的所有的值 都能读出来 谢谢
...全文
236 23 打赏 收藏 举报
写回复
23 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
tegwy 2008-11-27
mark
  • 打赏
  • 举报
回复
qinqinhao 2008-11-27
mark
  • 打赏
  • 举报
回复
filec75 2008-11-26
mark
  • 打赏
  • 举报
回复
jiduomi123 2008-11-26
用隐藏表单域吧
在加到右边或在右边删除的时候对隐藏表单域的值进行设置
可以这样:
<input type="hidden" name="valuesAll"/>
每加一项就对valuesAll的值进行一次设置 可以以”,“或其他符号进行分隔
把<input type="hidden" name="valuesAll"/>放在form中
最后提交该form就可在服务器获得valuesAll的值并通过分隔符“,”对其进行分隔则可得到所选的列表数组了


还有一种方法就是如果你左边的值都在数据库对应有一个唯一的编号的话还可以直接这样:
地址?valuesAll=1,2,3,4...
最好还是使用第一中方法 用隐藏表单域
当得到分割出来的数组后就可以将其加入到数据库了
  • 打赏
  • 举报
回复
不悲不喜 2008-11-26
闪,不凑热闹了。
  • 打赏
  • 举报
回复
sy_binbin 2008-11-26
其实主要的思路就是要在提交的时候把右面的列表里的所有项选中了,这样在保存的页面才能得到值
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
晕到了 sy_binbin 你用好友聊天啊 明天给你加分。。。。。。。。急
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
是啊 后来发现 是数组 我用request 不行 。。所以不会了 sy_binbin 你发的代码 我是放到提交页 还是保存页

应该是提交页吧?????
  • 打赏
  • 举报
回复
不悲不喜 2008-11-26
FT,你取到的是一个数组呀。
  • 打赏
  • 举报
回复
sy_binbin 2008-11-26
那你做个试验,多选几个右面的数据

提交到保存页面,看看你能取到值不
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
提交到 信息保存页 但是 信息保存页里 我用 ruqest("lstMySubject") 读不出来值 我要读出来的值 赋给一个变量 然后我就 将变量 写到表里了 啊啊啊啊啊啊啊啊啊
  • 打赏
  • 举报
回复
sy_binbin 2008-11-26
[Quote=引用 10 楼 zjzb0409 的回复:]
sy_binbin 大侠 可以将值 弄给一个变量 或者 直接输出 因为我要写入到表里 不知道为什么要加到按钮里?
[/Quote]

你想在什么说话添加到数据库里??
从左面选择一个到右面的说话就添加到数据库??

还是都选择完以后一起添加到数据库???

  • 打赏
  • 举报
回复
不悲不喜 2008-11-26
写到数据库里?
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
sy_binbin 大侠 可以将值 弄给一个变量 或者 直接输出 因为我要写入到表里 不知道为什么要加到按钮里?
  • 打赏
  • 举报
回复
sy_binbin 2008-11-26
<script language="javascript">
function SelSelectedAll(oSrc){
if(!oSrc) return false;
var i;
for(i=0;i<oSrc.options.length;i++){
oSrc.options.item(i).selected=true;
}

}
function check()
{
SelSelectedAll(document.form.后面下拉框的名称);
}
</script>

在提交按钮里onClick="check()"

这样就能取到后面列表框的值了
你试试
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
我内容的值 能添加到右边 我目的是 将添加到右边的值 能取出来 存到数据表里
  • 打赏
  • 举报
回复
不悲不喜 2008-11-26
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
</head>
<script language="Javascript">
function $(id){
return document.getElementById(id);
}

function moveSel(sw){
var sel1 = $("sel1");
var sel2 = $("sel2");

if (sw == 1) {
sel1 = $("sel1");
sel2 = $("sel2");
}
else {
sel1 = $("sel2");
sel2 = $("sel1");
}

var options = sel1.options;
for (var i = 0; i < options.length; i++) {
var o = options[i];
if (o.selected == true) {
sel2.appendChild(o);
}
}
}
</script>
<body>
<table width="300" border="0">
<tr>
<td width="140">
<select id="sel1" size="10" multiple="multiple">
<option value="aaaaaa">AAAAAA</option>
<option value="bbbbbb">BBBBBB</option>
<option value="cccccc">CCCCCC</option>
<option value="dddddd">DDDDDD</option>
<option value="eeeeee">EEEEEE</option>
<option value="ffffff">FFFFFF</option>
<option value="gggggg">GGGGGG</option>
</select>
</td>
<td width="20">
<input type="button" value="添加" onclick="moveSel(1);">
<br>
<input type="button" value="删除" onclick="moveSel(0);">
</td>
<td width="140">
<select id="sel2" size="10" multiple="multiple">
</select>
</td>
</tr>
</table>
</body>
</html>
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
顶啊
  • 打赏
  • 举报
回复
zjzb0409 2008-11-26
首先你的select 中要有 multiple 关键字.

随便写了几句,给你参照一下用法. ??

multiple 加到哪 代码写全点啊 大侠。。。。。。。。。。。。。。。。。。。。。。。。。。 我急用
  • 打赏
  • 举报
回复
不悲不喜 2008-11-26
首先你的select 中要有 multiple 关键字.

随便写了几句,给你参照一下用法.

var arr = new Array();

var options = document.getElementById("lstMySubject").options;
for(var i=0; i<options.length;i++){
var o=options[i];
if(o.selected == true ){
arr.push(o);
}
}
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
JavaScript
加入

8.6w+

社区成员

Web 开发 JavaScript
申请成为版主
帖子事件
创建了帖子
2008-11-26 05:04
社区公告
暂无公告