自动刷新选择Web应用程序中的菜单

时间:2013-07-30 14:04:00

标签: javascript ajax

是否可以在不敲击控制器的情况下刷新选择菜单并重新生成控制器中的整个选择菜单并发送回相应的Div? 我可以从Controller发送JSON格式的数据,但我不想发送整个Div ......因为它违反了DRY原则。这是一个非常常见的场景,我想知道是否有可能使Select菜单中的某些对象被监听,因此,如果修改了该对象,则相应地刷新Select Menu ....对象可以像{value,text}等...有人有任何指针吗?

如何在Web App中生成选择?

<form>
<content>
<div id=unique id>
<for each in some model>
   <option> <value>
</div>
<content>

我们有很多这样的表格,选择菜单...每次我们倾向于将select写入另一个文件并再次调用它。

<div id=unique id>
<for each in some model>
   <option> <value>
</div>

为什么不重复使用? 1)因为我们只需刷新Select not the Content 2)在主页面中获取的数据来自某些字典(预先填充了DB),在刷新时,我们可能从DB直接获取数据...

所以坚持干燥原则我可以通过一些UI侦听器将SELECT内容填充到某些Object吗?如果对象更改,请使用新值刷新选择。我将编写AJAX来获取新SELECT MENU的JSON。

1 个答案:

答案 0 :(得分:1)

怎么样:

$.each(jsonData, function(index){
    $('select').append('<option value="'+jsonData[index].value+'">'+jsonData[index].text+'</option>');
});

当JSON数据看起来像:

[
  {
    "value":1,
    "text":"Text for First Item"
  },
  {
    "value":2,
    "text":"Text for 2nd Item"
  }
]

希望我理解你的问题; - )