0

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

如何在 Web App 中生成选择?

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

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

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

为什么不重复使用?1) 因为我们只需要刷新 Select 而不是 Content 2) 主页面获取的数据是从某个字典中获取的(从 DB 中预填充),在刷新时,我们可能会直接从 DB 获取数据...

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

4

1 回答 1

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"
  }
]

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

于 2013-07-30T14:11:50.440 回答