首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery -查找匹配的选定选项和标签以显示相应的字段

Jquery -查找匹配的选定选项和标签以显示相应的字段
EN

Stack Overflow用户
提问于 2013-07-30 16:01:38
回答 1查看 836关注 0票数 1

解决:http://jsfiddle.net/arkjoseph/swDy5/20/

目标是创建一个amazon样式的搜索框,它将减少一个页面上的多个输入搜索/筛选字段所需的空间。

搜索流程:

从搜索表单中获取标签。

将标签附加到选择选项字段。

在“选择更改”中,获取所选值。

如果选中val与标签匹配,则显示最近的div.input、div.option (这是所有错误的地方)。由于我搜索数组,我认为我无法找到标签附近最近的隐藏容器。有什么建议吗?)

到目前为止,我已经将新的select值传递给一个数组,并试图在更改中找到匹配的值。

代码语言:javascript
运行
复制
    $("body").append("<select id='selopt'></select>");

var _op = [];
var _se = "";
$(".views-exposed-widget label").each(function(){
    var text = $(this).text();
    _se += '<option value="'+ text +'">'+ text +'</option>';
    _op.push($(this).text());
    // Monthly Release,Title,New Provider/Show Name
});


$("#selopt").change(function() {
 $("form .views-exposed-widget .views-widget").fadeOut();
    _op[$(this).val()].next('div').css("z-index","100").fadeIn();
    });        

更新的Jquery:http://jsfiddle.net/arkjoseph/swDy5/14/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-31 22:04:53

这将显示距离下拉框最近的div也是隐藏的。

代码语言:javascript
运行
复制
$("#selopt").change(function() {
    $(this).closest('div:hidden').show();
}); 

更新

根据您的评论,这应该会让您接近。我们可以创建文本字典到实际的标签中,而不是将文本推入数组中。然后,当选择更改时,使用标签查找最接近的div。就像这样:

代码语言:javascript
运行
复制
$("body").append("<select id='selopt'></select>");

var _op = {};
var _se = "";
$(".views-exposed-widget label").each(function(){
    var text = $(this).text();
    _se += '<option value="'+ text +'">'+ text +'</option>';
    _op[$(this).text()] = $(this);
    // Monthly Release,Title,New Provider/Show Name
});


$("#selopt").change(function() {
     _op[$(this).val()].closest('div:hidden').show();
});   

如果标签的文本有特殊字符,这可能会产生意外的结果。在这种情况下,我们可以修改数组更多,但仍然有可能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17951910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档