我希望在jquery中迭代java / grails中的列表,如下所示
控制器
session.legendList = legendList // [Soham Shetty] list in controller set to session
GSP
<input type="hidden" name="legendList" id="legendListId" value="${session.legendList}">
的jQuery
var filterList= $("#legendListId").val();
// also tried
// var arrLegendList = jQuery.makeArray( filterList );
for(f in filterList){
$('#impact-report-user-filter-dropdown').append($('<option>', {
value: filterList[f],
text: filterList[f]
}));
}
$("#impact-report-user-filter-dropdown").multiselect("refresh");
哪个字符串的一个字符字符串为f而不是一个元素列表
答案 0 :(得分:2)
客户端,$("#legendListId").val()
返回一个字符串,而不是可迭代列表。
for(f in filterList) {...}
确实会迭代,但会超过字符串的每个字符,包括方括号,这不是你想要的。见fiddle。
通过在<input>
元素中提供列表的CSV表示,javascript / jQuery将能够将$("#legendListId").val()
解析为具有String.prototype.split()的数组。