当用户单击“确认”按钮时,我想在按钮上方获得选择元素的<option value>
。
我正在使用jQuery 3.2.1,并认为我可以使用.closest
作为目标,但此日志为undefined
。
如果我将选择器从.confirm-btn
更改为.action-options
,它将记录所有按下的按钮的/clone/update/12/MERGE
。因此,除了第一组选择值之外,它什么也没读取。
我基于this answer,但是看不到我还能定位什么。
请有人帮忙吗?
$('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>
这里有两个主要问题。首先,closest()
用于查找parent