我有一个页面,其中包含主视图和一些部分视图。
在局部视图中,我有一些按钮应该转到控制器动作结果。问题是按钮onclick
事件有时不会触发。我尝试将代码放在主视图中的script
标记中。我试图将onclick
的代码放在局部视图中,但它无法正常工作。
我还想提一下,这个局部视图会在更多视图中呈现,所以我认为onclick
事件应该出现在部分视图上,按钮在哪里。
这是局部视图:
<div class="row viewEdit">
<div class="button-bar col-md-2">
<button type="button" id="btnDamageInvoiceShow" class="btn btn-success btnDamageInvoiceShow">@Resources.Common.ShowInvoice</button>
</div>
<div class="button-bar col-md-2">
<button type="button" id="btnDamageInvoiceGenerate" class="btn btn-success btnDamageInvoiceGenerate">@Resources.Common.Generate</button>
</div>
</div>
这是onclick
的代码:
<script type="text/javascript">
$(document).ready(function () {
$(".btnDamageInvoiceGenerate").on("click", function (e) {
var idSelector = function () { return this.id; };
var selectedDamages = $(":checkbox:checked").map(idSelector).get();
console.log(selectedDamages);
console.log("idee");
var baseUrl = '@Url.Action("GenerateInvoiceDamage", "TimberMonitor", new { Area = "" })';
var url = baseUrl + '?' + $.param({ damageIds: selectedDamages }, true);
location.href = url;
});
$("#btnDamageInvoiceShow").on("click", function (e) {
//var btn = this;
//e.preventDefault();
console.log("hello");
var idSelector = function () { return this.id; };
var selectedDamages = $(":checkbox:checked").map(idSelector).get();
console.log(selectedDamages);
var baseUrl = '@Url.Action("ShowDamageInvoice", "TimberMonitor", new { Area = "" })';
var url = baseUrl + '?' + $.param({ damageIds: selectedDamages }, true);
location.href = url;
});
});
这是来自控制器的ActionResult:
public ActionResult GenerateInvoiceDamage(IEnumerable<string> damageIds)
{ .. .}
你能告诉我吗?
答案 0 :(得分:1)
试试$("body").on("click", ".btnDamageInvoiceGenerate", function(e) {
和$("body").on("click", "#btnDamageInvoiceShow", function (e) {
而是让我知道它是否在评论中有效