我有一个要求,将选择框中选择的值添加到具有相同表单的输入框,我不知道如何最好地去解决这个问题。选择框包含用户电子邮件地址,输入框需要包含多个电子邮件地址。这个想法是,当您从选择框中选择一个电子邮件地址时,它会自动添加到输入中,或者通过单击添加按钮来重新加载PHP中的页面,然后添加到作为输入框值的变量中。我试图通过在窗体中创建窗体来做到这一点,但这并不奏效,还有更好的方法吗?如何使用表单中的选择框填充下面的输入框使用php
非常感谢。
我有一个要求,将选择框中选择的值添加到具有相同表单的输入框,我不知道如何最好地去解决这个问题。选择框包含用户电子邮件地址,输入框需要包含多个电子邮件地址。这个想法是,当您从选择框中选择一个电子邮件地址时,它会自动添加到输入中,或者通过单击添加按钮来重新加载PHP中的页面,然后添加到作为输入框值的变量中。我试图通过在窗体中创建窗体来做到这一点,但这并不奏效,还有更好的方法吗?如何使用表单中的选择框填充下面的输入框使用php
非常感谢。
那么,在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'); });
感谢您的回应,它给了我一些开始,但这里的问题是首先str函数在每次运行时都会重新启动,所以它不会连接字符串(http://jsfiddle.net/tYvQ8/511/)。然后,其次,如果用户错误地选择了它会发生什么,我会如何将它添加到文本按钮来添加字符串? – aHunter 2012-03-12 04:30:53
我错误地解释了你的问题,我认为这是一个多选框,我的代码可以工作。 对于您,您只需将所选值附加到文本框值,然后将选项重置为未选中。 上面编辑的代码。 – DanRedux 2012-03-12 04:32:45
非常感谢这是我从你的文章中提出的http://jsfiddle.net/tYvQ8/518/的代码。 – aHunter 2012-03-12 04:50:06
你可以试试这个:
编写代码的网页的DOCTYPE前顶部。
<?php
if(isset($_POST['add']))
{
$previous_email = $_POST['txt_email'];
$emails = $_POST['select_email'].",".$previous_email;
}
else
{
$emails = '';
}
?>
JavaScript的:你可以把它放在你的HTML文档
<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="[email protected]">[email protected]</option>
<option value="[email protected]">[email protected]</option>
<option value="[email protected]">[email protected]</option>
</select>
<textarea name="txt_email" id="txt_email"><?=$emails;?></textarea>
<input type="submit" value="add" name="add"/>
</form>
</body>
希望它可以帮助
为什么使用PHP而不是JavaScript来做到这一点 – Kaushtuv 2012-03-12 04:14:30