Copy nearest select box value of a given class name to following select box of same class name (using JQuery) -
what i'm trying is:
on html sample below, when user clicks "copy above", want jquery search 'up' html structure click location, find previous select box class="colors", copy selected value from select box , use select same value in select box below (also class="colors"). every select box has same set of values.
sample html:
<select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> </select> <a href="#" class="copy-times">copy above</a> <select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> </select> <a href="#" class="copy-times">copy above</a> <select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> </select> <a href="#" class="copy-times">copy above</a> <select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> </select> i have tried various combinations of .prevall(), can't working.
any appreciated, thanks.
i thought pointless @ first, see in action, see there's use behavior. patience in explaining it.
this seems pretty basic nothing fancy.
- delegate click event on occurrences of
.copy-times - prevent
.copy-timesjumping<a>nchor - use variable
above(var above) storethis(.copy-times) previous sibling (.prev()) class.colors(select.colors) value (.val()). - get
this(.copy-times) next sibling (.next()) class.colors(select.colors) value (.val()) , set value of previous value (above).
snippet
$('.copy-times').on('click', function(evt) { evt.preventdefault(); var above = $(this).prev('.colors').val(); $(this).next('.colors').val(above); }); select, { display: block; } select { margin: 0 0 20px 10px; } { margin: 0 0 5px 0; } <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <select class="colors"> <option value="1">red</option> <option value="2" selected>blue</option> <option value="3">green</option> </select> <a href="#" class="copy-times">copy above</a> <select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> </select> <a href="#" class="copy-times">copy above</a> <select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3" selected>green</option> </select> <a href="#" class="copy-times">copy above</a> <select class="colors"> <option value="1">red</option> <option value="2">blue</option> <option value="3">green</option> </select>
Comments
Post a Comment