我试图构建一个动态 Select 框,但当我单击每个.option
个标签时,它的标题在所有 Select 中的位置--在整个页面中显示.
我希望它只被放在.select-show
元素中,而不是其他元素中,恰好在同一个父.selectbox
标签中.
$(".option").click(function() {
let selectBoxShow = $(this).parent().find(".select").find(".select-shows");
let optionTitle = $(this).find(".option-title").text();
selectBoxShow.text(optionTitle);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css"/>
<div class="selectbox w-50 mb-5">
<div class="select">
<div>
<i class="fa-light fa-grid-2"></i>
<span class="select-shows">Select your City</span>
</div>
<i class="fas fa-angle-down"></i>
</div>
<menu class="options">
<div class="option">
<div class="option-container">
<i class="fas fa-angle-left"></i><span class="option-title">Whitehorse</span>
</div>
</div>
<div class="option">
<div class="option-container">
<i class="fas fa-angle-left"></i><span class="option-title">Yellowknife</span>
</div>
</div>
<div class="option">
<div class="option-container">
<i class="fas fa-angle-left"></i><span class="option-title">Regina</span>
</div>
</div>
<div class="option">
<div class="option-container">
<i class="fas fa-angle-left"></i><span class="option-title">Winnipeg</span>
</div>
</div>
<div class="option">
<div class="option-container">
<i class="fas fa-angle-left"></i><span class="option-title">Charlottetown</span>
</div>
</div>
</menu>
</div>