如何解决使用Jquery UI Dialog和KnockoutJS呈现第二种形式
|| 我定义了一个主表格,布局很好,它可以完成所需的工作...@{ Html.BeginForm(); }
@Html.ValidationSummary(false)
@Html.AntiForgeryToken()
@Html.EditorFor(model => model)
<h2>Properties</h2>
<hr />
@* I want to put some stuff here... *@
<br class=\"space\" />
<div class=\"clearfix\">>
<button type=\"submit\" data-bind=\"click: save\">
Save
</button>
</div>
@{ Html.EndForm(); }
接着。此模型(或称为ViewModel)具有一个IList<PropertyViewModel>
。
PropertyViewModel
有自己的一组验证。目前,它们非常简单,但是以后有可能会对此设置进行更复杂的使用。
我使用ѭ3来保持viewModel的一致性。虽然我认为这是相当不愉快的事。我想以jQuery UI Dialog
显示第二种形式,并从本质上返回结果。
<script type=\"text/javascript\">
var viewModel = {
name: ko.observable(),description: ko.observable(),properties: ko.observableArray(),save: function () {
alert(ko.toJSON(viewModel));
},includeProperty: function () {
$(\"#dialog\").dialog({
width: 500,closeText: \'\',resizable: true,buttons: {
\'Submit\': function () {
$(this).dialog(\'close\');
callback( @* I want the new data to get sent back *@ );
},\'Cancel\': function () {
$(this).dialog(\'close\');
return false;
}
}
});
}
};
function callback(value) {
alert(ko.toJSON(value)); // (I will push the new property to the viewmodel here)
}
ko.applyBindings(viewModel);
</script>
但是,我不确定如何将“ 6”真正放入对话框中,而且我不确定如何从中取出数据。
解决方法
我不完全理解您的问题,但是据我了解,您试图做的是将数据传递到对话框并从对话框中检索数据。在这种情况下,这可能会很有用:
http://api.jquery.com/jQuery.data/
这是有关如何使用的详细示例:
将数据传递到jQuery UI对话框
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。