2016-05-22 23 views
0

我想爲阿富汗和阿爾巴尼亞都增加一個額外的選項值「9」。例如:當我申請過濾器阿爾巴尼亞和1磅時,我得到了兩個結果:41美元和22美元。需要幫助應用過濾器,選擇,2選項值vs 1,Javascript,HTML

HTML:

<p>Filter: </p> 
    <select class="filterby"> 
     <option value="L"><h5>Afghanistan</h5></option> 
     <option value="E"><h5>Albania</h5></option> 
    </select> 

<p>Location: </p> 
    <select class="filterby"> 
     <option value="1"><h5>1 Pound</h5></option> 
     <option value="2"><h5>2 Pound</h5></option> 
    </select> 

<div id="FilterContainer"> 
    <div class="E 1">$41</div> 
    <div class="E 2">$48</div> 

    <div class="L 1">$28</div> 
    <div class="L 2">$33</div> 

    <div class="9 1">$22</div> 
    <div class="9 2">$25</div> 

</div> 

JAVASCRIPT:

<script type="text/javascript">//<![CDATA[ 
    window.onload=function(){ 
    $('#FilterContainer').hide(); 

    $("select.filterby").change(function(){ 
     var filters = $.map($("select.filterby").toArray(), function(e){ 
      return $(e).val(); 
     }).join("."); 
     $("div#FilterContainer").find("div").hide(); 
    $('#FilterContainer').show(); 
     $("div#FilterContainer").find("div." + filters).show(); 
    }); 
    }//]]> 

</script> 
+0

https://jsfiddle.net/doLy6yp9/16/ – Safian

回答

0

我添加的屬性,首先選擇的,我們可以認爲屬性作爲第二個值要添加的選項:

<p>Filter: </p> 
    <select class="filterby" id="allCountries"> 
     <option value="L" dataSec="8"><h5>Afghanistan</h5></option> 
     <option value="E" dataSec="9"><h5>Albania</h5></option> 
    </select> 

<p>Location: </p> 
    <select class="filterby"> 
     <option value="1"><h5>1 Pound</h5></option> 
     <option value="2"><h5>2 Pound</h5></option> 
    </select> 

<div id="FilterContainer"> 
    <div class="E 1">$41</div> 
    <div class="E 2">$48</div> 

    <div class="L 1">$28</div> 
    <div class="L 2">$33</div> 

    <div class="9 1">$22</div> 
    <div class="9 2">$25</div> 

</div> 

和js:

$('#FilterContainer').hide(); 

    $("select.filterby").change(function(){ 
    var filters = $.map($("select.filterby").toArray(), function(e){ 
     return $(e).val(); 
    }); 
    var secondVal = $("#allCountries option:selected").attr('dataSec'); 


    $("div#FilterContainer").find("div").hide(); 
    $('#FilterContainer').show(); 
    $("div#FilterContainer").find("div." + filters.join('.')).show(); 
    $("div#FilterContainer").find("div." + secondVal + "." + filters[1]).show(); 
    }); 

演示在這裏:https://jsfiddle.net/IA7medd/bwhrj68r/1/

+0

非常感謝艾哈邁德。偉大的工程..但現在我只想申請選項價值9阿爾巴尼亞,而不是阿富汗。對於阿富汗,我想申請一個不同的價值:8是否有另一種方法?我將爲220個國家進行更大規模的部署,每個國家都會有一個字母和數字選項值。 – Safian

+0

對不起@薩菲安我沒有很好理解,所以我編輯了答案,請檢查它,我希望它是你想要的。 –

+0

非常感謝艾哈邁德,你救了我幾個小時,試圖自己解決這個問題。我不是一個開發人員,而是一個系統工程師。我逆向工程大部分事情,但這將花費我幾天! – Safian