我对jquery比较新,并且找到了与我正在寻找的相似的结果,但没有发现。
我正在尝试做什么 根据下拉菜单或单选按钮选择显示不同的结果选择。我面临的问题是我想引用属性而不是类或段落等。
我的值为“Years”,我在“product-item”类中也有“Year”属性。当选中的下拉列表等于属性时,我希望显示相关内容。
最后,我在默认情况下显示2012内容时遇到了问题。
$("#search-filter").bind("change", function() {
$(this.value).show();
$('.product-item[year!=""]').hide();
我假设它是引号内的某种形式的“this”[year!=“”]
非常感谢任何有关上述内容的帮助以及解释。
答案 0 :(得分:1)
试试这个
$("#search-filter").val('2012');
$("#search-filter").on("change", function() {
$('.product-item').hide();
var val = this.value;
$('.product-item[year="'+val +'"]').show();
}).change();
<强> Check Fiddle 强>
看起来这会弄乱你的代码......
$(this.value)
.. this.value
为您提供了一个字符串,并且您尝试将文字转换为jQuery Object
..您需要DOM object
转换为jQuery Object
}
也可以使用.on()而不是.bind()
,因为jQuery 1.7是首选的
答案 1 :(得分:0)
虽然我不太确定你在这里会发生什么,但我认为我至少可以帮助你走向一个方向。
致电
$(this.value).show();
正在说我在页面中寻找一个带有与该值匹配的标签的元素(在这种情况下为'2009','2010'等...)
您可能想要做的是使用属性搜索选择器
$('.product-item[year="' + this.value + '"]').show();
将定位正确的元素