2011-03-21 75 views
0

我有一个.aspx视图(我们称之为基页),其中有一个<select>列表。在它旁边,我有一个按钮,点击后会打开一个模式对话框。其中,我允许用户为选定的<select>列表的成员添加项目到数据源。使用模态对话框修改的值更新父页面的DOM元素

用户必须重新加载页面才能获取新数据或编辑的数据。

是否有一个干净的方式来处理这与MVC & jQuery。我通常的做法是(1)知道页面上的<select>元素的控件ID。然后在刷新模态页面(它现在通过AJAX做)之后,我会(2)分析返回的新列表,然后(3)将新分析列表中的每个项目添加到基页上的<select>列表。

这是单调乏味的手动JavaScript。必须有另一种更清洁的方式。

有什么建议吗?

回答

0

从你的问题中不太清楚这个模式对话框包含哪些DOM元素,允许您将项目添加到选择列表中,但是您可以订阅对话框的关闭事件,然后将新添加的项目追加到原始选择列表。线之间的东西:

// read the newly added item value from some text input 
var value = $('#itemName').val(); 
// append it to the select list 
$('#SomeSelectId').append(
    $('<option/>', { 
     value: value, 
     text: value 
    }) 
);