简体   繁体   中英

How to select a specific option based on multiple attribute?

Suppose I have this select:

<select class="required form-control parameter-criteria" selectpicker="" data-id="2" tabindex="-98">
    <optgroup label="criterio 2">
        <option value="1" data-content="<span class=&quot;badge-min filter d-inline-flex&quot; style=&quot;background-color:#ff0000;&quot;> </span>CRITERIO 1 [0 - 50] - CRITERIO 2" id-criteria="2">CRITERIO 1
        </option>
       <option value="2" data-content="<span class=&quot;badge-min filter d-inline-flex&quot; style=&quot;background-color:#ffb700;&quot;> </span>CRITERIO 2 [51 - 60] - CRITERIO 2" id-criteria="2">CRITERIO 2
       </option>
       <option value="3" data-content="<span class=&quot;badge-min filter d-inline-flex&quot; style=&quot;background-color:#66ff00;&quot;> </span>CRITERIO 3 [61 - 100] - CRITERIO 2" id-criteria="2">CRITERIO 3
       </option>
     </optgroup>
</select>

I'm trying to select the option which have as id-criteria=2 and as value = 3 , so I did:

$('.parameter-criteria[data-id=2]')
   .find('option[value=3]')
   .find('id-criteria', 2).prop('selected', true);

but this won't work, any idea?

You can specify both criteria as .find('option[value=3][id-criteria=2]') .

 $('.parameter-criteria[data-id=2]') .find('option[value=3][id-criteria=2]') .prop('selected', true); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <select class="required form-control parameter-criteria" selectpicker="" data-id="2" tabindex="-98"> <optgroup label="criterio 2"> <option value="1" data-content="<span class=&quot;badge-min filter d-inline-flex&quot; style=&quot;background-color:#ff0000;&quot;> </span>CRITERIO 1 [0 - 50] - CRITERIO 2" id-criteria="2">CRITERIO 1 </option> <option value="2" data-content="<span class=&quot;badge-min filter d-inline-flex&quot; style=&quot;background-color:#ffb700;&quot;> </span>CRITERIO 2 [51 - 60] - CRITERIO 2" id-criteria="2">CRITERIO 2 </option> <option value="3" data-content="<span class=&quot;badge-min filter d-inline-flex&quot; style=&quot;background-color:#66ff00;&quot;> </span>CRITERIO 3 [61 - 100] - CRITERIO 2" id-criteria="2">CRITERIO 3 </option> </optgroup> </select> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM