2

我们正在使用InputBox扩展。我们希望有一个使用两个复选框的搜索功能,如下所示:

搜索

因此,用户既不能选择,也不能选择一个或两个复选框来引用页面上的特定文本。也就是说,如果用户选择“Platform 1.0”,搜索将返回页面上带有“Platform 1.0”的页面。(实际上:他们将使用特定的语义属性返回页面,从而在页面上产生文本。)

所以我们想要一种方法来搜索平台文本和在搜索框中输入的文本。

我们尝试过:

  • 将这些页面归入类别,但我们使用模板(模板中的类别)执行此操作,这不会使它们使用 incategory 进行搜索
  • 使用命名空间/前缀代码为 InputBox 编写新的 PHP 代码,但显然这些都使用搜索 API 中的特定词。我们不能在搜索 URL 等中添加特定的词。
  • 使用语义的按属性搜索,但我们不能向该查询添加自定义文本(由用户输入)。

非常欢迎提出想法!

4

1 回答 1

1

困难的是,您可以尝试使用 JavaScript 在选中每个复选框时添加您想要的关键字。像这样:(jQuery 用于舒适,但如果不是一个选项,也可以使用普通 JS):

$("#search").submit(function(e) {
    var search_value = $('input[type="text"]', this).val();
    if ($("#checkbox1").checked) { search_value = "SomeValue " + search_value; }
    if ($("#checkbox2").checked) { search_value = "SomeOtherValue " + search_value; }

    $('#search input[type="text"]').val(search_value);
    $(this).submit();
    e.preventDefault();
});

请注意,如果用户出于某种原因禁用 JavaScript,您的功能将被损坏,这始终是一种不好的做法。仅在您确实提取了所有其他可能性的情况下才使用它。

于 2012-04-23T09:12:23.150 回答