我将尝试简化代码。
基本上是在我的jsp文件中,加载文档后,选择值会自动填写。
例如:
<div class="col-sm">
<label style="font-size: 20px;"><fmt:message key="cap.workplace"/>: </label>
<select id="SelectWorkshop" class="chosen-select selectFilter">
<option selected="selected" value="0"><fmt:message key="cap.todos"/></option>
<c:forEach items="${workshopList}" var="workshopList">
<option value="${workshopList.idLocation}"><c:out value="${workshopList.location}" /></option>
</c:forEach>
</select>
</div>
但是根据用户的操作,我将需要修改另一个用户的原始选择值,假设我调用了一个执行以下操作的Javascript函数:
$("#SelectWorkshop").empty();
var tempvalue = "<option>This is a demo for Stackoverflow</option>";
$( "#SelectWorkshop" ).html(tempvalue);
执行此代码后,select的先前内容消失了,我可以看到我想要的新内容。
但是我想创建一个按钮,例如“重置过滤器”,以获取选择的“原始”值。
我尝试创建一个名为ResetFilters的按钮,然后执行此操作(这基本上是注入先前的内容):
$("#ResetFilters").click(function(){
$("#SelectWorkshop").replaceWith(<option selected="selected" value="0"><fmt:message key="cap.todos"/></option>
<c:forEach items="${workshopList}" var="workshopList">
<option value="${workshopList.idLocation}"><c:out value="${workshopList.location}" /></option>
</c:forEach>);
});
但是它不起作用,基本上语法是不正确的,我怎么能完全注入html&jstl?我不知道这是否是最正确的方法。
有人知道如何以最有效的方式做到吗?
喜欢吗?