使用 PHP 从<选项>标记获取文本

2022-08-30 23:25:46

我想获取标签内的文本及其值。<option>

<select name="make">
<option value="5"> Text </option>
</select>

我用了,我得到了值,但我想得到值和文本$_POST['make'];5

我如何使用PHP来做到这一点?


答案 1

为了仅使用 PHP 获取标签和值,您需要将这两个参数作为值的一部分。

例如:

<select name="make">
    <option value="Text:5"> Text </option>
</select>

网络工序代码

<?php
$parts = $_POST['make'];
$arr = explode(':', $parts);

print_r($arr);

输出:

Array(
  [0] => 'Text',
  [1] => 5
)

这是一种方法。


答案 2

这又如何呢?我认为这是最好的解决方案,因为您已经为每个数据分隔了字段。只有一个隐藏字段,每次更改时都会更新,并避免硬编码映射。

这个在HTML内部:

<select name='make' onchange="setTextField(this)">
<option value = '' selected> None </option>
<option value = '5'> Text 5 </option>
<option value = '7'> Text 7 </option>
<option value = '9'> Text 9 </option>
</select>
<input id="make_text" type = "hidden" name = "make_text" value = "" />
<script type="text/javascript">
    function setTextField(ddl) {
        document.getElementById('make_text').value = ddl.options[ddl.selectedIndex].text;
    }
</script>

这个在PHP内部:

<?php
$value = $_POST["make"];
$text = $_POST["make_text"];
?>

推荐