javascript - 即使选中了一个,我也会收到单选按钮的输出值
问题描述
我只做了这段java脚本代码
所以也许我需要做一个添加事件监听器,但我不知道我需要做什么
pick_up:document.getElementById("shippingOption1").value,
delivery:document.getElementById("shippingOption2").value
the output is
pick up:onor
delivery:on
我希望其中一个在选中时打开,如果未选中则关闭我该怎么做?
html
<div class="custom-control custom-radio">
<input id="shippingOption2" name="shipping-option" class="custom-control-input" type="radio">
<div class="custom-control custom-radio"><input id="shippingOption1" name="shipping-option" class="custom-control-input" checked="checked" type="radio" ">
<label class="custom-control-label" for="shippingOption1">
ps 我已经尝试将 1 和 2 的值添加到 html 代码,但它只给出 1 和 2,不管它没有被检查
解决方案
为了查看单选按钮是否被选中,您应该使用该.checked
属性。
pick_up: document.getElementById("shippingOption1").checked,
delivery: document.getElementById("shippingOption2").checked
对于值,您可以添加属性value="delivery"
以便在不知道它的情况下知道检查了什么id
。
这是一段代码,它是如何工作的:
function handleChange() {
const options = {
pick_up: document.getElementById("shippingOption1").checked,
delivery: document.getElementById("shippingOption2").checked
}
const result = document.querySelector('.result');
if (options.pick_up) {
result.textContent = 'You chose pickup';
} else if(options.delivery) {
result.textContent = 'You chose delivery';
}
console.log(options);
};
<div class="custom-control custom-radio">
<input id="shippingOption2" name="shipping-option" class="custom-control-input" type="radio" onchange="handleChange()" value="delivery">
<label class="custom-control-label" for="shippingOption2">delivery</label>
</div>
<div class="custom-control custom-radio">
<input id="shippingOption1" name="shipping-option" class="custom-control-input" type="radio" onchange="handleChange()" value="pick_up">
<label class="custom-control-label" for="shippingOption1">pick_up</label>
</div>
<div class="result">Select an option</div>
<div class="result2">The value of the selected option is: </div>
推荐阅读
- python - 如何在 Windows 10 下从 C# 使用 WLS2 中的参数 python 脚本执行
- wicket - 如何为 Wicket DropDownChoice 设置默认值
- scala - 如何使用文件存储架构反序列化来自事件中心的 Avro 消息并存储在 Azure Databricks 的数据框中
- json - 将 XML 文件转换为特定的 JSON 格式
- c# - 无法在不同的命名空间中使用我的新字段
- android - Flutter,Android 应用程序(随机错误)
- flutter - 无法解析配置“:flutter_secure_storage:classpath”的所有工件
- firebase - mailto:- Outlook 正在将 weblink %2F 转换为 / 我可以停止吗?Firebase 存储 getDownloadURL()
- cassandra - Astra 是哪个版本的 Cassandra?
- javascript - 为什么必须在 Node.js 中显式地要求一些核心模块?