1

私はjqueryに比較的慣れておらず、探しているものと同様の結果を見つけましたが、見つけられませんでした。

私がやろうとしている のは、ドロップダウンまたはラジオボタンの選択に基づいて異なる結果の選択を表示することです。私が直面している問題は、クラスや段落などではなく、属性を参照したいということです。

「Years」という値があり、「product-item」クラス内に「Year」属性もあります。選択したドロップダウンが属性と等しい場合、関連するコンテンツを表示したいと思います。

最後に、デフォルトで2012コンテンツを表示するのに問題があります。

これがjsfiddleのコードです

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

$(this.value).show();

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

</ p>

引用符で囲まれた「this」の形式であると想定しています[year!= ""]

説明付きの上記の助けをいただければ幸いです。

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必要がありますDOM objectjQuery Object

.bind()また、jQuery 1.7では前者が推奨されているため、代わりに.on()を使用します。

于 2012-11-15T16:50:19.707 に答える
0

あなたがここで何をしようとしているのかはよくわかりませんが、少なくともあなたをある方向に導く手助けができると思います。

へのあなたの呼び出し

$(this.value).show();

値に一致するタグ(この場合は「2009」、「2010」など)を持つページ内の要素を探していると言っています。

おそらくやりたいことは、属性検索セレクターを使用することです

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

適切な要素をターゲットにします

于 2012-11-15T16:52:34.270 に答える