当从 select 中选择哈希映射键时,更改 jsp 上的文本输入值

Change value of text input on jsp when hashmap key is chosen from a select

我有 hashmap promotableFiles 从 java class 传递到我的 jsp。在一个下拉列表中,我让用户选择密钥,即文件名。我想要的是我的第二个输入,一个只读文本输入,用于更新该键的值。

如何在不同的输入字段上将值更改为哈希图中我的键的值? Jquery和Javascript也不在话下。

<p>
<span>File: </span>
<select name="txtFilePromote" id="txtFilePromote"> 
    <option value="select" selected="selected">--Select File--</option>
    <c:forEach var="promoteFiles" items="${promotableFiles}">
        <option value="${promoteFiles.key}">${promoteFiles.key}</option>
    </c:forEach>
</select>
</p>
<p>
    <span>Control Number:</span>
    <input type="text" name="txtControlNum" id="txtControlNum" size="10" value="" readonly/>
</p>

如果我没有正确理解你的问题,假设你有一个条目

[key1->value1]

当用户从下拉列表中选择 key1 时,您想在文本字段

中显示 value1

为此,将选项的值属性分配为散列图中的值而不是键。

为此,更改

<option value="${promoteFiles.key}">${promoteFiles.key}</option>

<option value="${promoteFiles.value}">${promoteFiles.key}</option>

或者如果您不想显示 value1,而只想显示 key1,则不要进行上述更改。

然后 jquery 代码非常简单。在您的 JS 中添加以下代码,然后在您的 JSP

中导入 jquery 依赖项
$(document).ready(function () {
    $("#txtFilePromote").change(function () {
        $("#txtControlNum").val($(this).val());
    });
});

示例演示 -> Fiddle link