gpt4 book ai didi

jquery - 如何获取单击框的最接近元素的选定选项?

转载 作者:行者123 更新时间:2023-12-01 04:01:26 26 4
gpt4 key购买 nike

我想提醒我单击该框的容器的选定vat选项。但我得到了一个未定义的结果:

$(document).on('click', '.box', function(event) {
var result = $(this).closest('.container').find('.vat').find("option:selected").val();
alert(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<tr class='container'>
<td>
<div class="box">box1</div>
</td>
<td>
<select class='vat'>
<option value='0'>0 %</option>
<option selected value='7'>7 %</option>
<option value='19'>19 %</option>
</select>
</td>
</tr>

<tr class='container'>
<td>
<div class="box">box2</div>
</td>
<td>
<select class='vat'>
<option value='0'>0 %</option>
<option value='7'>7 %</option>
<option selected value='19'>19 %</option>
</select>
</td>
</tr>

最佳答案

您的 jQuery 代码工作正常,问题是因为您的 HTML 无效。您缺少<table /> tr 周围的元素,因此渲染时布局会被破坏。

但请注意,您不需要.find('option:selected')你可以得到 val()直接形式select元素。试试这个:

$(document).on('click', '.box', function(event) {
var result = $(this).closest('.container').find('.vat').val();
alert(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
<tr class='container'>
<td>
<div class="box">box1</div>
</td>
<td>
<select class='vat'>
<option value='0'>0 %</option>
<option selected value='7'>7 %</option>
<option value='19'>19 %</option>
</select>
</td>
</tr>
<tr class='container'>
<td>
<div class="box">box2</div>
</td>
<td>
<select class='vat'>
<option value='0'>0 %</option>
<option value='7'>7 %</option>
<option selected value='19'>19 %</option>
</select>
</td>
</tr>
</table>

关于jquery - 如何获取单击框的最接近元素的选定选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41872505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com