Я искал и havent смог получить любое из решений для работы. (И я не 100% ясно, почему?)jQuery: Перейти к тегу привязки из раскрывающегося списка (выбор)?
Я динамически строит ниспадающее меню (выбор) коробка ...
добавив соответствующее имя тега привязки (номер) на значение каждого параметра в выберите поле.
У меня есть JQuery, чтобы наблюдать за каких-либо изменений в поле выбора и «прыжок» в походной якорь тегов/имя ...
Но это не работает.
В зависимости от подхода, который я стараюсь, и я получаю эти ошибки:
TypeError: $(...).offset(...) is undefined
$("html, body").animate({scrollTop: $('#' + $(this).val()).offset().top}, "slow"...
или:
Error: Syntax error, unrecognized expression: ##15
, когда у меня есть # в операторе JQuery и без:
Вопрос 1 : Должен ли я помещать # в значение ввода параметра? или сохранить его в выражении jQuery?
JQuery:
$('#topic_entries').change(function(){
//populate fields with video details
if($('#topic_entries option:selected').text() == 'No Videos Found'){
//do nothing (dead)
}else{
var targetAnchor = $(this).val();
console.log(targetAnchor);
//$('html,body').animate({scrollTop: targetAnchor}, 'slow');
//$('html, body').animate({'scrollTop': $(targetAnchor).top}, 2000);
//$('html, body').animate({scrollTop: $(targetAnchor).offset().top}, 1000);
$('html, body').animate({scrollTop: $('#' + $(this).val()).offset().top}, "slow");
}
});
Что я здесь отсутствует? Я просто хочу, чтобы иметь простой «прыжок на якорь» функции выполняется из выбора выпадающего (значение)
Отсутствует HTML часть:
for($i=0; $i<count($results); $i++){
//update currentTopic
$currentTopic = $results[$i]['topic'];
echo '<option value="'.$i.'">' . $currentTopic . '</option>';
//echo '<option value="#'.$i.'">' . $currentTopic . '</option>';
}
============== ================================
обновление Решение:
Ну это кажется простым и быстрым исправить было использовать эту линию вместо:
window.location.hash = targetAnchor;
Но мне любопытно, почему ни одна из попыток jQuery не работала для меня? (То есть: что я делал в-правильно)
Покажите нам часть HTML, мой хрустальный шар ничего не сообщает. – ViRuSTriNiTy
@ViRuSTriNiTy достаточно справедливо (хотя я проверил это правильно (Firebug) и все 'ценности' являются правильными) 'для ($ I = 0; $ я <число ($ результатов); $ я ++) {\t \t \t \t \t \t \t \t \t \t \t \t \t $ currentTopic = $ результаты [$ я] [ 'тема']; \t \t \t \t \t \t \t echo ''; \t \t \t \t \t \t \t // echo ''; \t \t \t \t \t \t} ' – whispers
ли вы оказываете вы анкеры с идентификатором атрибута, как' '? – ViRuSTriNiTy