JavaScript将选择值更改为输入字段
我的代码中有一个表单,它有一些输入字段和一个选择字段。 选择字段由数据库中的表填充,该表还包含客户端名称和电子邮件 更改select字段时,必须将客户端名称和电子邮件放入正确的输入字段中。我试过一些方法,但还没有找到正确的方法 这是我的密码:JavaScript将选择值更改为输入字段,javascript,php,html,Javascript,Php,Html,我的代码中有一个表单,它有一些输入字段和一个选择字段。 选择字段由数据库中的表填充,该表还包含客户端名称和电子邮件 更改select字段时,必须将客户端名称和电子邮件放入正确的输入字段中。我试过一些方法,但还没有找到正确的方法 这是我的密码: <table> <tr><td>Company</td><td> <select id="namelist" name="namelist" onch
<table>
<tr><td>Company</td><td>
<select id="namelist" name="namelist" onchange="updateinput()">
<?php
$result = mysqli_query($con, "SELECT * FROM clients ORDER BY ID");
while($row1 = mysqli_fetch_array($result))
{
$value = $row1['Value'];
$name = $row1['Name'];
echo"<option value='$value'>$name<br>"; } ?>
</select></td></tr>
<tr><td>Name of contact</td><td>
<input required id="namecontact" name="namecontact" type="text" placeholder="Client name"></td></tr>
<tr><td>E-Mail contactpersoon</td><td>
<input required id="email" name="email" type="text" placeholder="E-Mail"></td></tr>
</table>
单位
在data-*
属性中保留电子邮件和客户端名称,以便您可以在onchange
事件中检索这些值
返回元素上指定属性的值。如果给定的属性不存在,则返回的值将为null或“”(空字符串)
试试这个:
函数更新输入(e){
var selectedOption=e.options[e.selectedIndex];
document.getElementById('namecontact')。value=selectedOption.getAttribute('data-name');
document.getElementById('email')。value=selectedOption.getAttribute('data-email');
}
单位
选择数据
测试1
测试2
联系人姓名
电子邮件联系人
在数据-*
属性中保留电子邮件和客户端名称,以便您可以在onchange
事件中检索这些值
返回元素上指定属性的值。如果给定的属性不存在,则返回的值将为null或“”(空字符串)
试试这个:
函数更新输入(e){
var selectedOption=e.options[e.selectedIndex];
document.getElementById('namecontact')。value=selectedOption.getAttribute('data-name');
document.getElementById('email')。value=selectedOption.getAttribute('data-email');
}
单位
选择数据
测试1
测试2
联系人姓名
电子邮件联系人
首先,您可以使用选项
元素中的数据电子邮件
属性存储电子邮件值,假设名称
是选项中的文本
<table>
<tr><td>Company</td><td>
<select id="namelist" name="namelist" onchange="updateinput()">
<?php
$result = mysqli_query($con, "SELECT * FROM clients ORDER BY ID");
while($row1 = mysqli_fetch_array($result))
{
$value = $row1['Value'];
$name = $row1['Name'];
$email = $row1['Email'];
echo"<option data-email='' value='$value'>$name<br>"; } ?>
</select></td></tr>
<tr><td>Name of contact</td><td>
<input required id="namecontact" name="namecontact" type="text" placeholder="Client name"></td></tr>
<tr><td>E-Mail contactpersoon</td><td>
<input required id="email" name="email" type="text" placeholder="E-Mail"></td></tr>
</table>
首先,您可以使用选项
元素中的数据电子邮件
属性存储电子邮件值,假设名称
是选项中的文本,然后
<table>
<tr><td>Company</td><td>
<select id="namelist" name="namelist" onchange="updateinput()">
<?php
$result = mysqli_query($con, "SELECT * FROM clients ORDER BY ID");
while($row1 = mysqli_fetch_array($result))
{
$value = $row1['Value'];
$name = $row1['Name'];
$email = $row1['Email'];
echo"<option data-email='' value='$value'>$name<br>"; } ?>
</select></td></tr>
<tr><td>Name of contact</td><td>
<input required id="namecontact" name="namecontact" type="text" placeholder="Client name"></td></tr>
<tr><td>E-Mail contactpersoon</td><td>
<input required id="email" name="email" type="text" placeholder="E-Mail"></td></tr>
</table>
电子邮件id和名称来自何处?您不需要AJAX,也不需要jQuery。请查看如何获取和设置HTML输入的值,这样您就可以轻松编写函数了。此外,您的代码中有一个bug—您从未关闭标记。电子邮件id和名称来自何处?您不需要AJAX,也不需要jQuery。请查看如何获取和设置HTML输入的值,这样您就可以轻松编写函数了。另外,您的代码中有一个bug-您从未关闭标记。非常感谢。你的答案与阿伦P的答案相结合,是我获得如何做到这一点的解决方案!非常感谢。你的答案与阿伦P的答案相结合,是我获得如何做到这一点的解决方案!这就是我需要的,非常感谢,你帮了我。我把你的答案和人造丝的答案结合起来,让我明白这是怎么回事这是我需要的,非常感谢,你帮了我。我把你的答案和人造丝的答案结合起来,让我明白这是怎么回事