1

这是我在这里的第一篇文章,如果我错了地方,我很抱歉。如果第一个表单设置为数组,我的困难是查看第一个选择表单的元素到另一个表单。目标是将选择表单的元素发送到另一个表单,然后将它们记录在 db MySQL 上,这将在 html 页面上显示它们。我在这个论坛中找到了如何创建两个选择表单并添加'n删除项目的过程,然后使用 MySQL 的命令 .implode 可以加入元素并在 db 上插入多个项目并在页面上查看它们。但是,如果我将名称的选择表单设置为数组,它就不起作用。我使用以下脚本有两个选择表单:

<script language="javascript">
function getOpt(select1,select2)
{
for (bCnt=0;bCnt<select1.length;bCnt++)
{
if (select1.options[bCnt].selected)
{
newOpt=new
Option(select1.options[bCnt].text,select1.options[bCnt].value,false,false);
select2.options[select2.length]=newOpt;
}
}
}

function remOpt(select2)
{
for (bCnt=0;bCnt<select2.length;bCnt++)
{
if (select2.options[bCnt].selected)
select2.options[bCnt]=null;
}
}
</script>

然后选择形式:

<table border="0">
<tr>
<td>
<label for="id">List:<br></label>
<select name="oneS" id="select_role" size=20 required multiple="multiple"/>
<option value="101">101</option>
<option value="102">102</option>
<option value="103">103</option>
<option value="104">104</option>
<option value="105">105</option>
<option value="106">106</option>
</select>
</td>
<td>
<input type="button" value="Add"onClick="getOpt(this.form.oneS,this.for m.twoS)"><br>
<input type="button" value="Remove"onClick="remOpt(this.form.twoS)">
</td>
<td>
<label for="id">Members List:<br></label>
<select name="twoS" id="select_role" size=20 multiple="multiple"/>
</select>
</td>
</tr>
</table>

如果注释脚本,按钮的一部分,第二种形式并更改行:

<select name="oneS" id="select_role" size=20 required multiple="multiple"/>

<select name="oneS[]" id="select_role" size=20 required multiple="multiple"/>

我有任何问题,可以在db上记录第一个选择表单的项目并在页面上查看它们。但这不是我的目标,我必须使用 2 选择表单。有没有人可以帮助我?多谢。

4

1 回答 1

0

我有你使用 jQuery,这里是:

$(document).ready(function()
{
$('.add').click(function(event)//this is your first form, with the id "select_role"
{
$('#select_role2).html($(this).html()+"add whatever html code  you want to insert into here");
});
});

对删除项目使用相同的想法。然后使用 $.ajax 或 $.post 将数据发送到 mysql 或使用变量来存储从第二次选择中添加或删除的所有 html。

只需包含 jQuery 库,您就可以全部排序。我已经很久没有写过原始的 JAvascript 了,但这将在 jQuery 的帮助下工作。不要再对两个元素使用相同的 id。id 必须是唯一的。

然后假设您插入一大堆选项,您可以$('#your_form_id).serialize()$.ajax调用中使用来获取元素数组,然后使用 PHP 技术解析 name="insertedoption[]" />。我不完全确定我帮助你太多,因为你需要阅读一些东西,但这是一个关于如何做你需要做的事情的想法。

于 2012-04-20T23:20:41.110 回答