jqgrid动态加载选择列表

时间:2012-08-18 12:05:03

标签: javascript jquery jqgrid

我正在努力动态加载选择列表选项。我用谷歌搜索了几个小时,希望能找到有用的东西。在这个门户网站上找到的东西很少,但是他们没那么帮忙...... 应用程序的逻辑如下: - 我们有档案盒的概述; - 编辑它们我应该得到多个选择列表,其中包含选项,具体取决于存档框ID - 已选择商品的列表

我想我可以通过dataInit-function

加载选择列表选项(在我的情况下是在这个给定框中存档的商品)
editoptions: { dataInit: function( elem )

我该如何解决这个问题?

任何帮助表示赞赏! 提前谢谢!

更新1

对我而言,这是一种纯粹的神秘主义:

'dataInit'=> "function (elem) { 
  var url = '/selectlist/?value='+elem.value;
  console.log(url);
  grid.setColProp('box_no', { editoptions: { dataUrl: url}});
}",

在控制台中我每次点击都会找到正确的网址,但所选列表只会填充一次我选择的第一行的值。选项recreateForm设置为true,但它没有帮助。

2 个答案:

答案 0 :(得分:0)

首先需要在colModel中设置以下属性..

search: true,
stype: 'select',
searchoptions: {dataUrl: "/api/select_options/3/"}

在/ api / select_options / 3 / url,我只返回一个字符串,它是选择选项的html代码,如下所示:

<select role="select" class="input-elm" id="jqg5">
<option role="option">Select one</option>
<option value="in progress" role="option">In progress</option>
<option value="disbursed" role="option">Disbursed</option>
<option value="declined" role="option">Declined</option>
<option value="approved" role="option">Approved</option>
</select>

有两个需要警惕的问题是逃避双引号。而且我还必须设置一个空白选项作为第一个选项。否则,如果选择了第一个选项,则会将“null”作为该字段的值发送。

我希望自己足够清楚。如果您有任何疑问,请与我们联系。

答案 1 :(得分:0)

你可以使用jquery和ajax技术 Dynamic Dependent Select Box using Jquery and Ajax
如果您想填充选择框,请使用jquery chosen