我是java
的初学者,不熟悉javascript
或php
,因此我可以根据自己的需要浏览和复制简化的javascript/php
代码示例。这样我就可以在stackowerflow中找到并尝试实现我的需要:
脚本:
<script type="text/javascript">
function onchange() {
var e = document.getElementById("persId");
var persSelected = e.options[e.selectedIndex].text;
document.getElementById("myInput").value=persSelected;
}
</script>
和正文:
<body>
<div th:replace="fragments/main.html :: top_menu"/>
<div class="w3-container" align="center">
<form action="/add" method="post" class="w3-container w3-card-4 w3-light-grey w3-text-blue w3-margin w3-center" style="width: 50%" >
<h2 class="w3-center">Add the challenger</h2>
<select name="pers" id="persId" onchange="onchange();">
<option th:each="person: ${personList}">
<title id="titleId" th:text="${person.getName()}"/>
</option>
</select>
<div class="w3-row w3-section">
<div class="w3-col" style="width:50px"><i class="w3-xxlarge fa fa-user"></i></div>
<div class="w3-rest">
<input class="w3-input w3-border" id="myInput" name="lastName" type="text" onkeyup="myFunction()" placeholder="Search for last names.." title="Type in a last name">
</div>
</div>
我将person
的列表放到了下拉列表中,但没有将选定的项目放入input
文本字段中。
如何正确实施此代码?
答案 0 :(得分:0)
似乎是这样的: document.getElementById(“ persId”)。value = persSelected;
应为: document.getElementById(“ myInput”)。value = persSelected;
答案 1 :(得分:0)
我不知道-如何type
块中使用参数script
。为什么,当我擦除此代码时:type="text/javascript"
一切正常
答案 2 :(得分:0)
您的代码有问题
让我解释一下。
此代码没有意义:
<option th:each="person: ${personList}">
<title id="titleId" th:text="${person.getName()}"/>
</option>
选项没有标题。相反,您应该只在选项内使用文本。 像这样:
<option th:each="person: ${personList}">
${person.getName()} // this should just turn into text
</option>
所以您最终会得到:
<option th:each="person: ${personList}">
John Doe
</option>
好吧,现在要做的第一件事是解决您的其他问题。 :)
这行可能有用。
var persSelected = e.options[e.selectedIndex].text;
但是由于选项中没有元素,因此我们需要将值获取到其他位置。
最简单的方法是获取select元素的值。
像这样:
var persSelected = document.getElementById("persId").value;
这是一个工作脚本文件的示例:
脚本:
<script type="text/javascript">
function onchange() {
var persSelected = document.getElementById("persId").value;
document.getElementById("myInput").value = persSelected;
}
</script>