当从select中选择hashmap键时,更改jsp上文本输入的值



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

如何将值更改为不同输入字段上hashmap中键的值?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

assign选项的value属性为hashmap中的值,而不是键。

修改

<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());
    });
});

Sample Demo -> Fiddle link

最新更新