【问题标题】:Make li item bold使 li 项目加粗
【发布时间】:2012-05-05 10:30:44
【问题描述】:

我正在使用 Jquery 自动完成功能来获取 Google 建议。如果自动完成建议中的 li 项与输入值匹配,我想将它们设为 bold。我首先尝试使用一个事件来执行此操作,但我意识到该事件将在请求之后触发,因此无法正常工作。所以现在我正在尝试在自动完成中将字体加粗:

var val = $('#searchbox').val();

    if (val == $(item.suggestion.data).html()) {
      $(item.suggestion.data).css("font-weight", "bold");
    } 

这似乎不起作用,我不知道为什么。下面是一个自动完成的例子:JsFiddle

【问题讨论】:

标签: jquery autocomplete


【解决方案1】:

您可以使用自动完成的打开事件将输入文本与自动完成下拉列表中返回的值进行匹配。

open: function(event, ui) {
    $('.ui-menu li a').each(function(){
    if($(this).text()==$('#searchbox').val()) $(this).wrap('<strong>');
    });
}

jsFiddle example.

【讨论】:

  • 您好,我将它包裹在 .div 中,字体大小为 12px,请看一下:jsfiddle.net/QpKj6/25 但它不起作用..(您的链接也不起作用)
  • 我注意到它们现在是粗体但在我的示例中它们不是。???这是哪里来的??
  • @Youss - 我的链接失效是什么意思?当您在输入字段中键入内容并且它与自动完成结果之一匹配时,该结果将变为粗体。尝试输入“aldi”。
  • @Youss - 那是因为你不能在类中使用 wrap。 Wrap 用于将元素包裹在其他东西周围。尝试 addClass 代替。例如:` if($(this).text()==$('#searchbox').val()) $(this).addClass("div");` 和 jsfiddle.net/j08691/QpKj6/26
  • @Youss - 您是否希望将自动完成列表中每个项目的第一个匹配字符加粗,如下所示:jsfiddle.net/j08691/QpKj6/28
【解决方案2】:

您需要使用change event

修改处理程序中的各种列表项。

【讨论】:

  • @Youss 祝你好运,如果你有更多问题,请告诉我,虽然老实说我自己不知道 JQuery 语法。但我可以用逻辑术语解释你需要做什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-27
  • 2021-12-31
  • 2018-05-25
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
  • 1970-01-01
相关资源
最近更新 更多