我需要将选择框中选择的值添加到具有相同形式的输入框中,并且不确定如何最好地解决此问题。选择框包含用户电子邮件地址,输入框需要包含多个电子邮件地址。我们的想法是,当您从选择框中选择一个电子邮件地址时,它会自动添加到输入中,或者单击添加按钮,该按钮会在PHP中重新加载页面,从而添加一个变量,该变量是输入框的值。我试图通过在表单中包含一个表单来做到这一点,但这样做是否有更好的方法呢?
非常感谢。
答案 0 :(得分:1)
好吧,在select的onchange事件中,将输入值设置为连接在一起的所有选定选项。
这是一些伪代码:
on select changed {
str= ''
for every element
if checked
str = str + value + ','
set input's value to the variable str
再次在jQuery中:
$('select').onchange(function(){
str='';
$('option:selected').each(function(){
str+=this.value+','; });
$('input:text').value(str); });
编辑:这是你想要的,没有多选。
$('select').onchange(function(){
$('option:selected').each(function(){
$('input:text').val($('input:text').val()+$(this).val()+',');})
.removeAttr('selected'); });
答案 1 :(得分:0)
你可以试试这个:
在DOCTYPE之前将此代码写在页面顶部。
<?php
if(isset($_POST['add']))
{
$previous_email = $_POST['txt_email'];
$emails = $_POST['select_email'].",".$previous_email;
}
else
{
$emails = '';
}
?>
javascript:你可以把它放在html文档的head部分
<script>
function add_email()
{
document.getElementById('txt_email').value = document.getElementById('select_email').value +','+ document.getElementById('txt_email').value;
}
</script>
最后是html:
<body>
<form method="post" action="" name="myform">
<select name="select_email" id="select_email" onchange="add_email();">
<option value="email1@test.com">email1@test.com</option>
<option value="email2@test.com">email2@test.com</option>
<option value="email3@test.com">email3@test.com</option>
</select>
<textarea name="txt_email" id="txt_email"><?=$emails;?></textarea>
<input type="submit" value="add" name="add"/>
</form>
</body>
希望有所帮助