jQuery аккордеон активировать не работает
у меня есть accordion
такой
<div id="accordion">
<h3 id="idname1">text</h3>
<div>
Text TEXT text
</div>
<h3 id="idname2">text</h3>
<div>
Text TEXT text
</div>
<h3 id="idname3">text</h3>
<div>
Text TEXT text
</div>
</div>
Теперь я хочу, чтобы люди щелкнули ссылку (в верхней части страницы), а затем эта панель откроется en люди будут видеть его теперь каждый раз, когда я вызываю свою функцию
$('.myclass').click(function() {
// this is to open the right pannel
var getal = $(this).attr('id');
alert(getal); // i get the right name
$("#accordion").accordion('activate', 1);
});
моя консоль дает мне эту ошибку
ошибка: нет такого метода "активировать" например виджет accordion
Я не знаю, в чем проблема я пробовал много разных вещей, но никто не работал.
3 ответов
Я думаю, что вы хотите открыть панель аккордеона программно. Если да, то вы хотите что-то вроде этого:
$("#accordion").accordion("option", "active", 1);
(предполагая, что вы используете библиотеку пользовательского интерфейса jQuery)
http://api.jqueryui.com/accordion/#option-active
обратите внимание, что это открывает вторую панель аккордеона, так как параметры принимают целое число на основе 0. (0-первый, 1-второй и т. д.). Поэтому просто убедитесь, что вы передаете правильное целое число вызову метода :)
причина, по которой ваш код не будет работать, заключается в том, что команда jQuery UI просто удалила activate
метод в v1.10 и конкретно рекомендую использовать то, что я предоставил: http://jqueryui.com/upgrade-guide/1.10/#removed-activate-method-use-active-option
активировать вот так
$( "#accordion" ).accordion( "option", "active", 0 );
чтобы просто включить/отключить использование методов для этой цели.
$("#accordion" ).accordion( "enable" );
$("#accordion" ).accordion( "disable" );
для доступа к параметрам аккордеона после первого инициализации используйте объект options.
$("#accordion").accordion( "option", "disabled", true ); // set
var x = $("#accordion").accordion( "option", "disabled"); // get
посмотрите на API http://api.jqueryui.com/accordion/
Это должно работать, однако оно не будет анимировать:
$('.myclass').click(function () {
// this is to open the right pannel
var getal = $(this).attr('id');
alert(getal); // i get the right name
$("#accordion").accordion('option', 'active', 1);
});
метод, который вы пытаетесь использовать в 1.9.X, но был удален в 1.10.икс http://api.jqueryui.com/accordion/#option-active