我有一个 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 网站 [ http://docs.telerik.com/kendo-ui/getting-started/web/window/overview]上的 KG 页面,我可以看到我应该能够向 [ .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 弹出窗口之外更改的字段值是可见的。