【问题标题】:harvest jquery-chosen without select?收获 jquery-选择没有选择?
【发布时间】:2013-02-03 00:14:13
【问题描述】:

是否可以使用选择的收获 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 代码,就像从选择标记中选择的收获所生成的最终输出一样(带有 ul、li 和类 chzn-drop、chzn-results 的 div ......) .而且我已经尝试过了,但是我不知道如何启动选择的 javascript 以按原样使用该块,而不是尝试再转换任何东西。

原因是:我希望选择语言切换器进行 SEO(将链接作为链接,而不是作为我阅读的选项的某些 data-* 属性),同时保持美观和选择选择的功能。

编辑
看来不修改插件是不行的

【问题讨论】:

  • 冒着暴露极端无知的风险,什么是“选择的选择”?
  • 对,应该是jquery选的,我现在改了标题,午夜后上班的价格
  • 你需要做两件事之一;执行转换或创建您自己的插件版本。出于 SEO 的目的,您始终可以在页面上的其他位置复制链接。
  • 是的,我说的是选择的收获

标签: jquery jquery-chosen


【解决方案1】:

您可以使用自己的包装器或插件来使其可以接受 choocen 例如:

<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');

目前我的脚本替换了旧的原始标记,但您也可以使用隐藏和添加新元素。

【讨论】:

  • 但最后,我会再次得到一个我不想的选择
  • 那你需要写新的插件或者修改choocen来满足你的需求
  • modi(selector) 部分万岁。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 2019-02-12
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多