我有這個名單與申報單和下拉菜單。帶有div的列表和下拉菜單div具有相同的數據屬性(data-num)。當單擊下拉菜單中的div我想顯示使用相同的數據屬性div和隱藏等。我想是這樣的,但它只是給我的第一個div從列表:通過比較實體元素,並顯示正確的
$('#chooseAnnexDropdown ul li').each(function(){
var that = $(this);
var sibs = $(this).siblings();
var thisAttr = $(this).attr('data-num');
var thisParent = $(this).parent().parent().parent().parent();
var theProducts = thisParent.find('.theProduct');
var theProductsAttr = $(theProducts).attr('data-num');
console.log(theProductsAttr);
that.click(function(){
if (thisAttr === theProductsAttr) {
// show the product div with the correct attribute and hide the others
}
});
});
讓我怎麼遍歷每個元素在我的下拉菜單,然後把它比作我的另一張單子,顯示正確的DIV?
下面是一些HTML代碼:
<div id="configurator">
<!-- dropdown menu -->
<div id="chooseAnnexDropdown" class="confDropdown">
<ul>
<li class="block_2" data-num="block_2">Atelier</li>
<li class="block_3" data-num="block_3">Bryggerhus</li>
<li class="block_4" data-num="block_4">Smørebod</li>
<li class="block_5" data-num="block_5">Bakstehus</li>
<li class="block_6" data-num="block_6">Sportsrom</li>
<li class="block_7" data-num="block_7">Boenhet</li>
<li class="block_8" data-num="block_8">Ingen</li>
</ul>
</div>
<!-- end dropdown menu -->
{% for i in 1..39 %}
{% for block in entry['hyttekonf' ~i] %}
<div class="theProduct" data-num="block_{{ i }}" id="block_{{ i }}">
<div class="conf-image absolutecenter">
{% set image = block.bilde.first() %}
<img src="{{ image.getUrl('plantegningKonfigurator') }}" alt="{{ image.title }}" />
</div>
</div>
{% endfor %}
{% endfor %}
</div>
請你也加入您的HTML?或部分工作的代碼片段將非常棒。 – vijayP
這肯定可以簡化,但更容易,如果您發佈有關HTML標記。在這裏你的邏輯是錯誤的,因爲你將它設置單擊處理之外 –
@vijayP做:)) –