php - 使用下拉列表填充字段
问题描述
我有一个由 MySQL 数据库使用以下代码填充的下拉列表
<?php
$conn = new mysqli('localhost', 'root', '@', '')
or die ('Cannot connect to db');
$result = $conn->query("select name, surname FROM clients");
echo "<html>";
echo "<body>";
echo "<select name='client_name' id='client'>";
while ($row = $result->fetch_assoc()) {
unset($msisdn, $contract_type, $provider);
$name = $row['name'];
$surname = $row['surname'];
echo '<option value="'.$name.'_'.$surname.'">'.$name.' '.$surname.'</option>';
}
echo "</select>";
echo "</body>";
echo "</html>";
?>
我想在下拉列表中使用与结果相关的信息填充不同的字段。
<input type="text" name="address">
<input type="text" name="tel">
<input type="text" name="id_nr">
$('#client').change(function() {
selectedOption = $('option:selected', this);
$('input[name=address]').val( selectedOption.data('address') );
$('input[name=tel]').val( selectedOption.data('tel') );
$('input[name=id_nr]').val( selectedOption.data('id_nr') );
});
解决方案
您应该将数据设置为选项
echo '<option data-address-"'.$address.'" value="'.$name.'_'.$surname.'">'.$name.' '.$surname.'</option>';
此外,更新您的查询以获取地址以及姓名和姓氏。
推荐阅读
- python - 无法使用while循环理解幂运算
- c# - 为什么“0.2”转换成双倍变成2?
- azure - 在 Azure 存储帐户中托管的 Blazor Webassembly Azure AD 身份验证
- node.js - Firebase + Nuxt SSR - httpsCallable 错误“未定义标头”
- django - 如何在 django 中返回 url 数组
- c# - 如何使用 powershell 脚本删除回收站 Sitecore CMS 中的对象?
- java - 在java中实现基本的回调模式,避免对象创建
- xamarin.forms - Xamarin.Forms 共享首选项如何将对象保存到列表
- android - 结果:语法错误 json 解析错误:无法识别的令牌 '<'
- c# - 使用 System.Text.Json 反序列化复杂的多态类型