javascript - 选中后将 href 链接添加到复选框
问题描述
因此,当用户单击“自定义”时,我目前已经在 HTML 中编码,会弹出一个带有复选框的模式。一旦选中复选框并且用户单击“提交”,用户选择的内容将显示在页面上,并且模式将消失。我想要做的是,一旦选择,将所选内容变成链接(href)。我已经将它放在使复选框内容成为模式中的链接的位置,但我不希望它在那里,我希望它在被选中并且用户单击提交后转换为链接。以下是我目前在 HTML 和 JS 中的代码
$('#youtube').change(function() {
var chb = document.getElementsByClassName('chkbx');
if (chb[0].checked) {
console.log("YOUTUBE selected");
$(this).next().html("<a href='https://www.youtube.com/'>YOUTUBE</a>");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal active" id="modal">
<div class="modal-header">
<div class="title">Please select preferred websites: </div>
<button data-submit-button class="submit-button" onclick="getValue()">Submit</button>
</div>
<div class="modal-body">
<input type="checkbox" class="chkbx" id="youtube" name="website" value="youtube"> YOUTUBE <br>
解决方案
如果你有下一个东西,你只能使用下一个
否则使用 .after() 或 parent().append()
$('#youtube').on("click",function() {
if (this.checked) {
console.log("YOUTUBE selected");
$(this).parent().next().html("<a href='https://www.youtube.com/'>YOUTUBE</a>");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal active" id="modal">
<div class="modal-header">
<div class="title">Please select preferred websites: </div>
<button type="button" data-submit-button class="submit-button">Submit</button>
</div>
<div class="modal-body">
<label><input type="checkbox" class="chkbx" id="youtube" name="website" value="youtube"> YOUTUBE </label>
<span>This is the next</span>
</div>
</div>
如果您希望复选框成为链接,也可以使用 replaceWith
点击提交时在这里
$('.submit-button').on("click",function() {
const $check = $("#youtube")
if ($check.is(":checked")) {
console.log("YOUTUBE selected");
$check.parent().replaceWith("<a href='https://www.youtube.com/'>YOUTUBE</a>");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="modal active" id="modal">
<div class="modal-header">
<div class="title">Please select preferred websites: </div>
<button type="button" class="submit-button">Submit</button>
</div>
<div class="modal-body">
<label><input type="checkbox" class="chkbx" id="youtube" name="website" value="youtube"> YOUTUBE</label>
</div>
</div>
推荐阅读
- linux - 如何从 Bash shell 的输出中截断字符串?
- sql - 如何在 SQL 中使用 JOIN 从两个表的组合中找到 SUM (product_price)
- angular - 在升级到 Angular 9 期间,Typescript 编译中缺少 main.ts 和 polyfills.ts
- javascript - 如何允许 setState 在整个应用程序中使用上下文
- mysql - 使用 MySQL 基于动态列数据的透视查询
- javascript - onclick 将内部文本添加到表 td 的
- python - 通过 Python 安装 ASReview
- java - 为 Spring Boot 应用程序使用 AWS 颁发的证书
- python - 获取数据框列中列表的最后一个元素
- python - 自定义学习率调度器 TF2 和 Keras