在我的编辑jsp页面上,我有一个select2下拉列表,当加载编辑jsp页面时,我想在select2下拉列表中将所有数组值设置为选择。我有以下jsp页面上写的javascript函数
<script type="text/javascript">
function initSelect2(selectIds) {
//here it initializes all select ids by iterating
$("#" + iterated select id).attr("multiple","multiple");
$("#" + iterated select id).select2();
}</script>
然后在$(document).ready函数中,我编写了下面提到的代码,它遍历map键并设置select2元素中迭代键的值。 selectValuesForAttMap 是hashmap。它的类型和值是
Map<String,List<String> selectValuesForAttMap = new Map<String,List<String>();
它将有条目例如
1-selVal-3,[类别:类别@ ku @ CATEGORY,类别:pages @ ku @ CATEGORY]
1-selVal-5,[克:1 @ ku @ GRAMS]其中1-selVal- 3是键和[类别:类别@ ku @ CATEGORY,类别:pages @ ku @ CATEGORY]是其他条目的值等等。这里1-selVal-3是select标签和类别的id:category @ ku @CATEGORY是要设置的值
var multiSelAttrVal = "",entryKey ="";
<%
System.out.println("--------------Map values--------------------------");
Iterator it = selectValuesForAttMap.entrySet().iterator();
//iterating through map values
while (it.hasNext()) {
Map.Entry pair = (Map.Entry)it.next();
System.out.println(pair.getKey() + " = " + pair.getValue());
%>
multiSelAttrVal = "<%=pair.getValue()%>";
entryKey = "<%=pair.getKey()%>";
console.log("Key =" +entryKey + "Value=" + multiSelAttrVal);
//splitting values by comma
var splitValues = multiSelAttrVal.split(",");
var strToBeSet = "";
var array1 = [];
//set the splitted values in array
if(splitValues.length > 0) {
for(var i=0; i< splitValues.length;i++) {
strToBeSet += splitValues[i]
array1[i] = splitValues[i].trim().replace("]","");
array1[i] = array1[i].trim().replace("[","");
}
}
console.log("array=" + array1);
console.log("strToBeSet=" + strToBeSet);
//set multiple values in select element
$("#"+entryKey.trim()).val(array1);
<% it.remove(); %>
<% } %>
我正在尝试使用下面的行设置值但是值没有设置。有人帮我找出问题吗?
$(&#34;#&#34 + entryKey.trim())VAL(数组1);