собирать jquery-chosen без выбора?

Можно ли использовать выбранный jquery урожая без использования разметки <select><option>abc</option></select> по умолчанию?

Я бы хотел, чтобы такой код был преобразован в отзывчивый урожай, такой как выбранное поле:

<!-- Language Switcher -->
<ul>
  <li><a href="abc.com/lang/german">Switch language to german</a></li>
  <li><a href="abc.com/lang/english">Switch language to english</a></li>
</ul>

Или я также мог бы написать html-код точно так же, как готовый вывод, который выбранный сбор генерируется из тега select (div с ul, li и классами chzn-drop, chzn-results, ...). И я уже пробовал это, но я понятия не имею, как запустить выбранный javascript, чтобы использовать этот блок так, как он есть, чтобы больше не пытаться что-то преобразовать.

Причина в том, что я хочу, чтобы этот переключатель языка был оптимизирован для SEO (иметь ссылки как ссылки, а не как некоторый атрибут data-* параметра, который я читаю и реагирую только с помощью javascript), сохраняя при этом приятный внешний вид и функциональность выбрал-выбрал.

Редактировать
Кажется, это невозможно без изменения плагина


person Allisone    schedule 03.02.2013    source источник
comment
Рискуя обнаружить крайнее невежество, что такое избранный избранный?   -  person Beetroot-Beetroot    schedule 03.02.2013
comment
да, это должен быть jquery, я изменил название сейчас, цена за работу после полуночи   -  person Allisone    schedule 03.02.2013
comment
Вам нужно будет сделать одну из двух вещей; выполните преобразование или создайте собственную версию плагина. Вы всегда можете продублировать ссылки где-нибудь еще на странице в целях SEO.   -  person Beetroot-Beetroot    schedule 03.02.2013
comment
Вы говорите о github.com/harvesthq/chosen?   -  person Shikiryu    schedule 12.04.2013
comment
да я про урожай выбрал   -  person Allisone    schedule 12.04.2013


Ответы (1)


Вы можете использовать свою собственную оболочку или плагин, чтобы сделать ее приемлемой для выбранного примера, например:

<ul id="TesT">
  <li><a href="abc.com/lang/german">Switch language to german</a></li>
  <li><a href="abc.com/lang/english">Switch language to english</a></li>
</ul>

Небольшой скрипт:

function modi(selector){
   $(selector).each(function(){
   var html ="";
   $('li',this).each(function(){
      html +='<option value="'+$('a',this).attr('href')+'">'+$('a',this).html()+'</option>';
   });
   $(this).replaceWith('<select>'+html+'</select>').chosen();
   });
}

И назовите это так:

modi('#TesT');

На данный момент мой скрипт заменяет старую оригинальную разметку, но вы также можете использовать скрытие и добавление новых элементов.

person Aivar    schedule 12.04.2013
comment
но, в конце концов, я бы снова получил выбор, чего я не хотел - person Allisone; 12.04.2013
comment
Затем вам нужно написать новый плагин или изменить выбранный в соответствии с вашими потребностями. - person Aivar; 15.04.2013
comment
Ура modi(selector) части. :) - person Tristan Jahier; 21.09.2015