JQuery $( "# field" ) имеет значение null?
У меня есть selectbox с месячными периодами.
Вот мой код:
$(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');
}
});
});
<select name="ppsub_ppterm_id" class="ppsub_ppterm_id"
id="ppsub_ppterm_id" style="width: 100px; font-size: 11px;">
<option value="M">Maand</option>
<option value="K">Kwartaal</option>
<option value="H">Halfjaar</option>
<option value="J">Jaar</option>
<option selected value="E">Eenmalig</option>
</select>
Но когда я загружаю свою страницу я staight away, получите сообщение об ошибке:
$( "# ppsub_ppterm_id" ) имеет значение null
Строка 17
Любые идеи?
Ответы
Ответ 1
Похоже, что JQuery неправильно загружается. Какой источник/версия вы используете?
В качестве альтернативы это может быть столкновение пространства имен, поэтому попробуйте использовать jQuery
явно вместо $
. Если это сработает, вы можете использовать noConflict, чтобы убедиться, что другой код, который использует $
, не сломается.
Ответ 2
chane '$' от jQuery, например:
$( "# myId" ) → jQuery ( "# myId" )
Работает
Ответ 3
Даже если jQuery не смог найти элемент, он не будет пустым - это будет пустой объект jQuery.
Вы уверены, что загружен jQuery? Возможно ли, что другая используемая вами библиотека JavaScript вызывает конфликты?
Ответ 4
у вас есть "ppsub_ppterm_id" как класс, имя, идентификатор и т.д.
Вам нужно выбрать ONE и выбрать его. Нет необходимости, чтобы ID, NAME, CLASS для всех имели одинаковые значения.
Вы, вероятно, путаете ад из jQuery.
<a id="ppsub_ppterm_id"> = $("#ppsub_ppterm_id")
<a class="ppsub_ppterm_id"> = $(".ppsub_ppterm_id")
<a name="ppsub_ppterm_id"> = $("*[name=ppsub_ppterm_id]")
Выберите способ и пойдите с ним, но извлеките все эти избыточные атрибуты.
Ответ 5
Убедитесь, что вы запускаете код jQuery после загрузки документа:
$(document).ready(function() { /* put your stuff here */ });
Также убедитесь, что у вас нет других элементов управления с идентификатором "ppsub_ppterm_id" на вашей странице HTML.
Это первая вещь, которую я бы проверял.