Liferay 6.1; jQuery 1.11.3
var selectProduct = $('#selectProduct');
var selectVersion = $('#selectVersion');
// selectProduct instanceof jQuery = TRUE
selectProduct.change(function() {
// selectProduct instanceof jQuery = FALSE
$.get("<%getVersionsURL%>", {"product": selectProduct.val()}).done(function(data) {
selectVersion.html("<option value=\"\"></option>");
selectVersion.append(data);
}
以上代码不会从我的liferay服务器上的.jsp运行。我收到错误&#39; selectProduct.val不是函数&#39;。
似乎在.change函数中,selectProduct不再是jQuery对象。 selectProduct instanceof jQuery
在函数内部返回false,但是真实的。我目前的解决方法是添加行
selectProduct = $(selectProduct);
或者每次在事件处理程序中使用它时重新包装变量。 为什么参考变化?当我在JSFiddle上测试类似的场景时,没有问题。