現在我有以下代碼:所以用這個代碼結合Knockout和MVC4:使用按鈕切換表格中的列。
@model IEnumerable<MvcAuction.Models.Furniture>
@{
ViewBag.Title = "Search";
}
<hgroup class="title">
<h1>@ViewBag.Title.</h1>
</hgroup>
@using (Html.BeginForm("SearchIndex", "Furniture", FormMethod.Get))
{
<p>
Description: @Html.TextBox("SearchString")
<input type="submit" value="Search" /></p>
}
<table class="searchResults">
<tr>
<th>
@Html.DisplayNameFor(model => model.Description)  
</th>
<th>
@Html.DisplayNameFor(model => model.EndingDate)  
</th>
<th>
@Html.DisplayNameFor(model => model.Category)
</th>
<th>
@Html.DisplayNameFor(model => model.Price)
</th>
<th>
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Description)
</td>
<td>
@Html.DisplayFor(modelItem => item.EndingDate)
</td>
<td>
@Html.DisplayFor(modelItem => item.Category)
</td>
<td>
@Html.DisplayFor(modelItem => item.Price)
</td>
<td>
<button data-bind="click: toggleBidInput ">
<span data-bind="text: bidCancel"></span>
</button>
</td>
<td>
<input data-bind="visible: bidInputVisible" />
<button data-bind="visible: bidInputVisible">
Submit</button>
</td>
</tr>
}
</table>
@section Scripts{
@Scripts.Render("~/Scripts/knockout-2.1.0.js")
<script type="text/javascript">
function ViewModel() {
var self = this;
self.bidInputVisible = ko.observable(false);
self.bidCancel = ko.observable("Bid");
self.toggleBidInput = function() {
self.bidInputVisible(true);
self.bidCancel("Cancel");
};
}
ko.applyBindings(new ViewModel());
</script>
}
我有一個「競價」在表的每一行的末尾。 當我點擊它時,它會被重命名爲「取消」,並在其旁邊顯示一個文本輸入和另一個「提交」按鈕(在所有行中)。
我想分開每個「出價」按鈕,因此當我點擊它時,只有那個特定行中的按鈕變爲取消,只有在該行出現文本輸入和「提交」按鈕。
我似乎無法分開每個單獨的行按鈕的影響。
謝謝帕特里斯!似乎是我的問題的一個很好的解決方案。另外,你對我的主要「擔憂」給出了一個答案,那就是如果可以將mvc模型與淘汰賽純粹結合在一起。由於我不能這樣做,我會嘗試你的方式,我相當有信心會工作。當它回來時,我會回來接受你的回答。 –