jQuery $(“#field”)为空?

我有一个带月月的选择框。

这是我的代码:

$(function(){ $("#ppsub_ppterm_id").change(function(){ var term = this.options[this.selectedIndex].text; if(term == "Eenmalig"){ $(".idealtd").show(); }else{ $(".idealtd").hide(); //$("#ppsub_amount option:selected").val('anders'); } }); });  Maand Kwartaal Halfjaar Jaar Eenmalig  

但是,当我加载我的页面时,我会直接收到错误:

$(“#ppsub_ppterm_id”)为空

第17行

有任何想法吗?

听起来像JQuery没有正确加载。 您使用的是哪个来源/版本?

或者,它可能是命名空间冲突,因此请尝试显式使用jQuery而不是$ 。 如果可行 ,您可能希望使用noConflict来确保使用$的其他代码不会中断。

以jQuery为例的chane’$’:

$(“#myId”) – > jQuery(“#myId”)

有用

即使jQuery找不到该元素,它也不会为null – 它将是一个空的jQuery对象。

你确定jQuery被加载了吗? 您正在使用的另一个JavaScript库是否可能导致冲突?

你有“ppsub_ppterm_id”作为类,名称,id等…

您需要选择一个并选择它。 ID,NAME,CLASS都不需要具有相同的值。

你可能会混淆jQuery的地狱。

  = $("#ppsub_ppterm_id")  = $(".ppsub_ppterm_id")  = $("*[name=ppsub_ppterm_id]") 

选择一种方式并使用它,但取出所有这些冗余属性。

确保在加载文档后运行jQuery代码:

 $(document).ready(function() { /* put your stuff here */ }); 

另外,请确保HTML页面上没有其他ID为“ppsub_ppterm_id”的控件。

这是我要检查的第一件事。