使用会话访问的迭代列表



>我希望在jquery中迭代java/grails的列表,如下所示

控制器

session.legendList = legendList // [Soham Shetty] list in controller set to session

普惠制

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

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

for(f in filterList) {...}确实会迭代,但遍历字符串的每个字符,包括方括号,这不是您想要的。见小提琴。

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

或者,将你的Groovy列表直接传递给javascript。

相关内容

  • 没有找到相关文章

最新更新