1

我对 jquery 比较陌生,并且发现了与我正在寻找的结果相似的结果,但没有发现。

我想要做 的是根据下拉或单选按钮选择显示不同的结果选择。我面临的问题是我想引用一个属性而不是一个类或段落等。

我的值是“年”,并且在“产品项目”类中也有一个“年”属性。When the drop down selected is equal to the attribute, I want the relevant content to be displayed.

最后,我无法默认显示 2012 年的内容。

这是 js fiddle 的代码

$("#search-filter").bind("change", function() {   

$(this.value).show();

$('.product-item[year!=""]').hide();

​</p>

我假设它是引号 [year!=""] 内的某种形式的“this”

任何有关上述解释的帮助将不胜感激。

4

2 回答 2

1

尝试这个

$("#search-filter").val('2012');

$("#search-filter").on("change", function() { 

    $('.product-item').hide();

    var val = this.value;

    $('.product-item[year="'+val +'"]').show();

}).change();​

检查小提琴

看起来这把你的代码弄乱了..

$(this.value) ..this.value给你一个字符串,你正在尝试将文本转换为jQuery Object.. 你需要 aDOM object转换为jQuery Object

也使用 .on() 而不是.bind()前者是 jQuery 1.7 的首选

于 2012-11-15T16:50:19.707 回答
0

虽然我不太确定你在这里的目的是什么,但我想我至少可以帮助你找到一个方向。

你的来电

$(this.value).show();

是说我在页面中寻找一个带有与值匹配的标签的元素(在本例中为“2009”、“2010”等......)

您可能想要做的是使用属性搜索选择器

$('.product-item[year="' + this.value + '"]').show();

这将针对正确的元素

于 2012-11-15T16:52:34.270 回答