在选择框选项中插入隐藏文本
Insert hidden text inside selectbox option
我有一个选择框,可以显示人员列表的名字和姓氏。但我想为他们每个人添加一个 id 并使其不可见。
前任。如果我们有 John Smith 和 ID 001 我想写 John Smith:001 ,但是它应该被视为 John Smith。重要的是id不仅看不见而且不占用任何space.
这是我的代码:
$result = pg_query(connect(), "SELECT id, name, surname FROM person ORDER BY name ASC, surname ASC");
$person = pg_fetch_all($result);
echo '<select value="Person" name="person">';
for($i=0; $i<sizeof($person); $i++) {
$person = $person[$i]['name'].' '.$person[$i]['surname'];
echo "<option>".$person."<span hidden>:".$person[$i]['name']."</option>"; }
echo '</select>';
然而,这不起作用,因为 id 仍然可见
您可以使用选项的值来包含带有分隔符的名称和 ID。阅读的时候可以再拆分。
<option value="$person[$i]['name']:$person[$i]['id']">
尝试使用组合名称和 ID 设置值(根据我的评论):
<?php
$result = pg_query(connect(), "SELECT id, name, surname FROM person ORDER BY name ASC, surname ASC");
$person = pg_fetch_all($result); ?>
<select name="person">
<?php
for($i=0; $i<sizeof($person); $i++) {
$name = $person[$i]['name'].' '.$person[$i]['surname']; ?>
<option value="<?php echo $name.":".$person[$i]['id']; ?>"><?php echo $name; ?></option>
<?php
} ?>
</select>
给你这样的东西:
Array
(
[person] => doug johnson:1
)
您只需保持不同的值和不同的标题即可。
所以,代码应该是:
让我更简单一点 $name 是这个人的全名, $id 是他的 id。
<option value="<?php echo $name.":".$id?>"><?php echo $name;?></option>
看起来这项工作可以做得更干净一些。但无论如何,关键是您可以使用 value 属性向服务器发送与用户看到的不同的值。
顺便说一句,请记住,用户始终可以通过在浏览器中查看源代码来查看值。 (如果这不是你想要的,那么你必须在 php 代码中更改值部分,否则这段代码就可以了)
我有一个选择框,可以显示人员列表的名字和姓氏。但我想为他们每个人添加一个 id 并使其不可见。 前任。如果我们有 John Smith 和 ID 001 我想写 John Smith:001 ,但是它应该被视为 John Smith。重要的是id不仅看不见而且不占用任何space.
这是我的代码:
$result = pg_query(connect(), "SELECT id, name, surname FROM person ORDER BY name ASC, surname ASC");
$person = pg_fetch_all($result);
echo '<select value="Person" name="person">';
for($i=0; $i<sizeof($person); $i++) {
$person = $person[$i]['name'].' '.$person[$i]['surname'];
echo "<option>".$person."<span hidden>:".$person[$i]['name']."</option>"; }
echo '</select>';
然而,这不起作用,因为 id 仍然可见
您可以使用选项的值来包含带有分隔符的名称和 ID。阅读的时候可以再拆分。
<option value="$person[$i]['name']:$person[$i]['id']">
尝试使用组合名称和 ID 设置值(根据我的评论):
<?php
$result = pg_query(connect(), "SELECT id, name, surname FROM person ORDER BY name ASC, surname ASC");
$person = pg_fetch_all($result); ?>
<select name="person">
<?php
for($i=0; $i<sizeof($person); $i++) {
$name = $person[$i]['name'].' '.$person[$i]['surname']; ?>
<option value="<?php echo $name.":".$person[$i]['id']; ?>"><?php echo $name; ?></option>
<?php
} ?>
</select>
给你这样的东西:
Array
(
[person] => doug johnson:1
)
您只需保持不同的值和不同的标题即可。 所以,代码应该是: 让我更简单一点 $name 是这个人的全名, $id 是他的 id。
<option value="<?php echo $name.":".$id?>"><?php echo $name;?></option>
看起来这项工作可以做得更干净一些。但无论如何,关键是您可以使用 value 属性向服务器发送与用户看到的不同的值。
顺便说一句,请记住,用户始终可以通过在浏览器中查看源代码来查看值。 (如果这不是你想要的,那么你必须在 php 代码中更改值部分,否则这段代码就可以了)