我创建了自己的下拉框。我有一个 div,在 div 中有一个跨度。我需要获取内部跨度文本。我该怎么做?跨度的文本确实发生了变化。这是选取值的地方:
<div>
<select id="test_select" style="display:none;">
<option value="1">Graphic Designer</option>
<option value="2">Animator</option>
<option value="7">Announcer</option>
<option value="11">Web Developer</option>
<option value="12">Judge</option>
</select>
</div>
这就是需要得到的:
<div class="custom-select">
<span>Select Option</span>
<ul>
</ul>
</div>
好吧,你需要的不仅仅是 PHP 来完成这项工作;您还需要 JavaScript。
让我们从 HTML 开始。我假设您的渲染输出如下所示,我不会质疑您为什么这样做。
<div id="dropdown">
<span>Option One</span>
<span>Option Two</span>
<span>Option Three</span>
</div>
这就是我对你的 HTML 的猜测。
要将值发布回 PHP,您还需要一种方法来捕获可以通过表单发布的输入字段中的选定值。隐藏的输入可能是您的最佳选择。
<input type="hidden" name="dropdown-selection" id="dropdown-selection" />
我们的标记就完成了。接下来,您需要从 div 中获取所选选项并将其粘贴到隐藏字段中。我假设你已经编写了一些代码来使你的 div 看起来和行为完全像一个下拉菜单(好吧,我会咬。你为什么这样做?)。
这是使用 jQuery 的 JavaScript 代码(我们只在 StackOverflow 上使用 jQuery。开个玩笑;这不是真的。好吧,也许这有点真实)
<script type="text/javascript">
$(function () {
$('#dropdown-selection').val($('#dropdown span:visible').text());
});
</script>
现在,只要您确保隐藏字段包含在回发到目标 PHP 页面的表单中,您就可以获得可用的 span 标记的值。
我对您如何在此处设置页面做出了很多假设。纠正我任何与现实不符的部分。