0
我有一个自定义jQuery类来创建弹出列表,但是当我将HTML元素传递给类对象时,它是undefined
!在自定义jQuery类中使用自定义函数功能
我想发送元素到类中,并设置.keyup()
事件,并在.keyup()
函数中操作元素值。
我的代码是:
$.Class('kpopup', {
// static
init: function (e, p, h, r, u) {
url = u;
hostElement = e;
popupElement = p;
popupResult = r;
hiddenElement = h;
$(hostElement).keyup(function() {
$.ajax({
url: url,
data: { "value": $(hostElement).val() },
type: 'POST',
success: function (dt) {
if (dt != "") {
$(popupResult).html(dt);
$(hostElement).popupDiv($(popupElement));
} else {
$(popupElement).hide();
}
}
});
});
}
},
//Prototypes
{});
代码使用上面的类:
$(document).ready(function() {
var kpopup = new kpopup(
$("#clas_academy_id"),
$(".popup-picker"),
$("#clas_academy_id_hidden"),
$("#popup-result"),
'@Url.Action("searchAcademies","Academy")'
);
});
您已经传递了jQuery的对象类,所以不要做这样的事情:'$(hostElement).val()'。只要执行'hostElement.val()'。 –
我用过,但有错误'输入错误:hostElement.val不是函数' – MasoudKardani
看看所有的全局变量!为什么在这个世界上会使用不把完整的变量名称放在参数中开始! – epascarello