我正在创建动态下拉菜单并将ajax数据分配给c:forEach循环的其中一个item属性。我将数据保存在警报中,但是在将其分配给" items" tag.Please告诉我有什么问题。
HTML和jQuery代码:
11:01:09,105 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-4) JBAS010400: Bound data source [java:/SpecOpsDB]
答案 0 :(得分:1)
jsp中不需要c:ForEach标记,因为jstl标记在服务器端处理,但选项标记在客户端处理。因此,无法在不提交表单的情况下将c:ForEach标记的变量值(始终为空)分配给选项。
FIX:
在jsp中:
<div class="form-group">
<label for="subCategory" class="col-lg-1 control-label">SubCategory</label>
<div class="col-lg-4">
<select class="form-control" name="subCategory" id="subCategory">
<option value="">--Please select sub-category--</option>
</select>
</div>
在js:
var jsonSubCat = $.parseJSON(JSON.stringify(data));
var $select = $('#subCategory');
$select.empty().prepend(
"<option value='' selected='selected'>--Please select sub-category--</option>");
$(jsonSubCat).each(function(index,o) {
var $option = $(" <option/>").attr("value",o.subCategoryId).text(o.subCategoryName);
$select.append($option);
});
我希望这对你有用。
答案 1 :(得分:0)
我已经解决了这个问题。 jsp中不需要c:ForEach标记,因为jstl标记在服务器端处理,但选项标记在客户端处理。因此,无法在不提交表单的情况下将c:ForEach标签的变量值分配给选项。
FIX:
在jsp中
<div class="form-group">
<label for="subCategory" class="col-lg-1 control-label">SubCategory</label>
<div class="col-lg-4">
<select class="form-control" name="subCategory" id="subCategory">
<option value="">--Please select sub-category--</option>
</select>
</div>
在js
var jsonSubCat = $.parseJSON(JSON.stringify(data));
var $select = $('#subCategory');
$select.empty().prepend(
"<option value='' selected='selected'>--Please select sub-category--</option>");
$(jsonSubCat).each(function(index,o) {
var $option = $(" <option/>").attr("value",o.subCategoryId).text(o.subCategoryName);
$select.append($option);
});
我希望这对某人有用。