【发布时间】:2014-11-12 11:47:36
【问题描述】:
我使用jstl 动态生成选择标签,如下所示。但我未能在 jquery 中选择选项。
JSP:
<c:forEach var="p" items="${model.multiphase}" varStatus="row">
<select class="form-control status" name="status">
<option value="Notyetstarted">Not Yet Started</option>
<option value="Inprogress">InProgress</option>
<option value="Onhold">OnHold</option>
<option value="Closed">Closed</option>
</select>
<input type="hidden" id="upstatus_${row.index}" value="<c:out value='${p.getProjectPhase().getPhaseStatus()}'/>" />
</c:forEach>
上面的jstl生成下面的html
<select class="form-control status" name="status">
<option value="Notyetstarted">Not Yet Started</option>
<option value="Inprogress">InProgress</option>
<option value="Onhold">OnHold</option>
<option value="Closed">Closed</option>
</select>
<input type="hidden" id="upstatus_0" value="Closed" />
<select class="form-control status" name="status">
<option value="Notyetstarted">Not Yet Started</option>
<option value="Inprogress">InProgress</option>
<option value="Onhold">OnHold</option>
<option value="Closed">Closed</option>
</select>
<input type="hidden" id="upstatus_1" value="Onhold" />
我使用下面的 jquery 来选择选项。
$(".status option").each(function () {
alert("fd");
$(this).find("option").filter(function () {
return $(this).val() == $("#upstatus_" + index).val();
}).prop('selected', true);
});
如何预选值? 任何帮助将不胜感激!!!
【问题讨论】:
-
这应该可以工作:
$("option",'select.status').filter(function () { return $(this).val() == $("#upstatus_" + index).val(); }).prop('selected', true); -
@ventkata,没用,我有动态选择标签
-
您可能有其他问题,请尝试不区分大小写
$("option",'select.status').filter(function () { return $(this).val().toLowerCase() == $("#upstatus_" + index).val().toLowerCase(); }).prop('selected', true);还要检查您使用的索引是否正确
标签: java javascript jquery jstl