【发布时间】:2014-04-17 14:00:33
【问题描述】:
我正在尝试使用 KendoGrid/details 设置。网格中的按钮会打开一个弹出窗口,在该窗口中进行编辑并保存。窗口正在打开,模板正在获取数据,但我连接到 [更新] 链接的“单击”事件不起作用。在互联网上环顾四周,我发现弹出窗口(JQuery)没有在表单中打开存在问题,但我不知道如何将“form.append”附加到它,因为它是一个 KendoWindow(我是两者都是新手)。
<!--Update Link code (in the KendoTemplate)-->
<div><A href="#" ID="lnkUpdate_0858">Update</A></div>
/*Popup code*/
function showDetails(e) {
e.preventDefault();
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
wnd.content(detailsTemplate(dataItem));
wnd.center().open();
}
/*Code to wire up the onClick event to the "update" link*/
function lnkUpdate_0858_OnClick() {
return $("#lnkUpdate_0858").click(function() {
alert("lnkUpdate_0858_OnClick");
});
}
为了补充一点背景,我正在研究这个问题。查看 Telerik 网站上的 KG 页面 [http://docs.telerik.com/kendo-ui/getting-started/web/window/overview],我可以看到我应该能够向 [.data("kendoWindow")] 添加自定义点击。我看过这段代码。虽然它确实适用于演示,但它对我的页面确实不。我认为它在我的页面上失败了,因为我使用的是模板,并且链接的 ID 不是“.wrapper.find”方法可以找到的。 此外,该页面建议使用“.appendto”将其(kendoWindow)附加到当前表单,我也这样做了。
我我能够连接到链接点击,并使用以下代码从弹出窗口的表单字段中检索值。
function ClickButton(ButtonID) {
var x = $("[id$='tbAlertID']").val;
$("[id$='" + ButtonID + "']").click();
}
function PopulateASPDotNetForm() {
$("[id$='tbAlertID']").val(tbAlertID);
ClickButton("btnUpdateAlert2");
alert("PopulateASPDotNetForm" + tbAlertID);
}
function LoadDataFromPopupForm(PopupForm) {
tbAlertID = PopupForm.find('.tbAlertID').val();
}
$(document).on('mousedown', ".LinkButton", function() {
PopupForm = $(this).parent().parent();
LoadDataFromPopupForm(PopupForm);
PopulateASPDotNetForm();
return;
});
我在单击 JQuery 中的 ASP.net 按钮时遇到问题。点击事件触发,我可以在 Visual Studio 调试器中捕获它。当我这样做时,在 JQuery 弹出窗口中更改的字段的值对 ASP.net 不可见,但在 JQuery 弹出窗口的外部更改的字段值是可见的。
【问题讨论】:
标签: jquery kendo-ui kendo-grid kendo-window