Когда пользователь нажимает кнопку «Подтвердить», я хочу получить <option value>
элемента select над кнопкой.
Я использую jquery 3.2.1 и думал, что могу нацелить это с помощью .closest
, но при этом регистрируется undefined
.
Если я переключаю селектор с .confirm-btn
на .action-options
, он регистрирует /clone/update/12/MERGE
для всех нажатых кнопок. Поэтому он не читает ничего, кроме первого набора значений выбора.
Я основал это на этом ответе , но не вижу, на что еще я могу ориентироваться.
Пожалуйста, кто-нибудь может помочь?
$('body').on('click', '.confirm-btn', function(e) {
e.preventDefault();
var x = $('.confirm-btn').closest('select').find(':selected').val();
console.log(x);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="form-control action-options">
<option value="/clone/update/12/MERGE">Merge</option>
<option value="/clone/update/12/REPLACE">Replace</option>
<option value="/clone/update/12/REJECT">Reject</option>
</select>
<button class="btn btn-primary confirm-btn">Confirm</button>
<select class="form-control action-options">
<option value="/clone/update/11/MERGE">Merge</option>
<option value="/clone/update/11/REPLACE">Replace</option>
<option value="/clone/update/11/REJECT">Reject</option>
</select>
<button class="btn btn-primary confirm-btn">Confirm</button>
<select class="form-control action-options">
<option value="/clone/update/10/MERGE">Merge</option>
<option value="/clone/update/10/REPLACE">Replace</option>
<option value="/clone/update/10/REJECT">Reject</option>
</select>
<button class="btn btn-primary confirm-btn">Confirm</button>