迭代使用会话访问的列表

时间:2016-02-26 05:53:39

标签: jquery list session grails gsp

我希望在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而不是一个元素列表

1 个答案:

答案 0 :(得分:2)

客户端,$("#legendListId").val()返回一个字符串,而不是可迭代列表。

for(f in filterList) {...}确实会迭代,但会超过字符串的每个字符,包括方括号,这不是你想要的。见fiddle

通过在<input>元素中提供列表的CSV表示,javascript / jQuery将能够将$("#legendListId").val()解析为具有String.prototype.split()的数组。

或者,通过您的Groovy list to javascript directly