从jsp隐藏变量设置的Jqgrid colNames

从jsp隐藏变量设置的Jqgrid colNames,jqgrid,Jqgrid,我有一个jqgrid,我希望通过jsp隐藏变量设置它的列名 <input type="hidden" name="columns" id="columns" value= "<%= finalColumns %>"></input> 现在我正在尝试我的Javascript colNames:'['+$("#columns").val()+']', 但我收到一个警告框,上面写着colModel的长度。 我已经检查过了,有9个col模型,字符串中有9个值。

我有一个jqgrid,我希望通过jsp隐藏变量设置它的列名

<input type="hidden" name="columns" id="columns" value= "<%= finalColumns %>"></input>
现在我正在尝试我的Javascript

  colNames:'['+$("#columns").val()+']',
但我收到一个警告框,上面写着colModel的长度。 我已经检查过了,有9个col模型,字符串中有9个值。我在哪里犯了错误

更新:解决方案: 我试着用

eval(('['+$("#columns").val()+']').toString()).
这就解决了问题。我必须理解为什么这能解决问题


无论如何谢谢

您不应该使用eval,因为它可以执行代码。我们不应该使用$.parseJSON函数将JSON字符串转换为object。但是,该字符串来自属性文件,我将明确尝试此方法,先生,并让您知道。谢谢asalways先生:我得到了一个未捕获的语法错误:当我使用parseJSON时出现了意外的令牌错误。我正在尝试调试并将更新。无论如何谢谢你,欢迎你!我认为您应该将字符串$columns.val的内部更改为:'主代码,Mst。代码说明,主代码状态,…'。或者,您可以使用$columns.val.split,。看起来我更容易。
eval(('['+$("#columns").val()+']').toString()).