jquery - 迭代使用 session 访问的列表

标签 jquery list session grails gsp

我正在寻找像下面这样从jquery中的java / grails迭代列表

Controller

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

最佳答案

在客户端,$("#legendListId").val()返回一个字符串,而不是一个可迭代的列表。
for(f in filterList) {...}确实会迭代,但是会在字符串的每个字符(包括方括号)上进行迭代,这不是您想要的。参见fiddle

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

或者,传递您的Groovy list to javascript directly

关于jquery - 迭代使用 session 访问的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35644504/

相关文章:

python - 在 python 中的列表中构建列表

php - 从 Jquery 获取 PHP $_SESSION 变量?

javascript - jQuery:创建一个 div 在单击时提醒您,

javascript - 防止整页在 load() 时向上滚动

php - 如何使用服务帐户凭据访问 Google 电子表格?

session - express.js 路由中的全局 session 变量?

php - 在 php 中重定向页面后 session 丢失

javascript - jquery - .hash 在此函数中的意义

javascript - 需要帮助以使用下拉选择列表来更改页面上的动态内容

从数据帧列表中返回平均值的数据帧