【发布时间】:2014-02-04 15:04:01
【问题描述】:
我有一个表中的值列表,其中包含使用 knockout.js 的编辑按钮,当单击编辑按钮时,我希望列表上方的表单填充表中的值。如何使用我当前的淘汰视图模型做到这一点?
这是html
<script src="~/scripts/appjs/GeneAssay.js"></script>
<script type="text/javascript">
$(function () {
//Dump raw data into one place
var data = @Html.Raw(ViewBag.Data);
//initialize view model
var viewModel = new ViewModel(data);
ko.applyBindings(viewModel);
});
</script>
<div class="row geneassayform">
<div class="col-md-4">
<form>
<div class="form-group">
<label for="form_geneassaycode">Gene Assay Code:</label>
<input type="text" class="form-control" id="form_geneassaycode" placeholder="Enter Gene Assay Code">
</div>
<div class="form-group">
<label for="form_geneassayname">Gene Assay Name:</label>
<input type="text" class="form-control" id="form_geneassayname" placeholder="Enter Gene Assay Name">
</div>
<div class="form-group">
<label for="form_geneassaycomments">Gene Assay Comments:</label>
<textarea class="form-control" id="form_geneassaycomments" placeholder="Enter Gene Assay Comments(optional)"></textarea>
</div>
<button type="submit" class="btn btn-primary" disabled="disabled">Save</button>
</form>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="panel panel-default">
<div class="panel-heading">
<span>Current Gene Assays</span>
</div>
<div class="panel-body">
<!-- ko if: Assays().length > 0 -->
<table class="table table-condensed table-hover">
<tr>
<th>Assay Code</th>
<th>Assay Name</th>
<th>Comments</th>
<th></th>
</tr>
<tbody>
<!-- ko foreach: Assays -->
<tr>
<td data-bind="text: AssayCode"></td>
<td data-bind="text: AssayName"></td>
<td data-bind="text: Comments"></td>
<td><button class="btn btn-xs btn-danger" data-bind="click: $parent.editAssay">edit</button></td>
</tr>
<!-- /ko -->
</tbody>
</table>
<!-- /ko -->
<!-- ko ifnot: Assays().length > 0 -->
<div class="alert alert-info">
<p>There are no Gene Assays. Add an Assay using the form above.</p>
</div>
<!-- /ko -->
</div>
</div>
</div>
这是 GeneAssay.js
function ViewModel(data) {
var self = this;
//Unpack raw data
self.Assays = ko.mapping.fromJS(data.assays);
}
【问题讨论】:
-
请发表您到目前为止所做的事情?
-
@ebramtharwat 上面的代码是我到目前为止所做的工作结果的屏幕截图..由于应用程序无法正常工作,我尝试删除的其他代码
标签: c# asp.net asp.net-mvc asp.net-mvc-4 knockout.js