以下代码点击“添加更多”超链接时,下面是完美添加新项目: -
我想要的不是点击“添加更多”,而是创建一个与$("#addItem").click
相同的功能,并在我的例程中调用该函数。
有人可以指导我如何做到这一点?
控制器代码: -
public ViewResult BlankEditorRow(string formId)
{
return new AjaxViewResult("ChequeDetail", new cheques()) { UpdateValidationForFormId = formId };
}
查看代码: -
<%= Html.ActionLink("Add More", "BlankEditorRow", new { ViewContext.FormContext.FormId }, new { id = "addItem" }) %>
JQuery: -
$("#addItem").click(function() {
$.ajax({
url: this.href,
cache: false,
success: function (html) {
$("#editorRows").append(html);
}
});
return false;
});
答案 0 :(得分:0)
我不确定你想要做什么不同的,你想在你的actionlink中添加click处理程序而不是你现在拥有的jQuery吗?
查看强>
<%= Html.ActionLink("Add More", "BlankEditorRow", new { ViewContext.FormContext.FormId }, new { id = "addItem", onclick="AddItem();" }) %>
<强>的Javascript 强>
function AddItem()
{
$.ajax({
url: this.href,
cache: false,
success: function (html) {
$("#editorRows").append(html);
}
});
return false;
});
}
答案 1 :(得分:0)
我也不确定你想要什么不同,但如果我的问题得到了解决,你不想为每个链接制作点击事件吗?
如果是这样,你可以这样做:
$.fn.addTo = function (element) {
return this.each(function () {
$(this).click(function () {
$.ajax({
url: this.href,
cache: false,
success: function (html) {
$(element).append(html);
}
});
return false;
});
});
}
现在您只需在项目启动时初始化它:
$('.addItem').addTo('.container');
并且每个带有“addItem”类的链接都会加载它的href并将其附加到“.container”。也许你必须改变逻辑以附加到不同的容器,但希望你明白这一点:)
答案 2 :(得分:0)
Okey,您的代码存在问题。如果不先声明它,就不应该调用函数。这意味着,您的函数“AddNewRow”应该通过您的调用写入。
实际上,我会跳过这个功能并按照这样做:
else {
$.ajax({
url: this.href,
cache: false,
success: function (html) {
$("#editorRows").append(html);
}
});
}
应该这样做!
答案 3 :(得分:0)
我可以使用这行代码: -
var a = document.getElementById('addItem');
$(a).trigger('click');
很抱歉,如果我没有明确表达我的问题。