javascript - 为单选按钮中的一项选择创建规则

标签 javascript jquery html

我想创建一条规则,强制用户仅选择一个单选值。但是,当按钮循环时,它允许选择多个,并且不允许用户删除点击

var now = document.getElementsByName("now");
var day = document.getElementsByName("day");
var week = document.getElementsByName("week");

if ($("#now").prop("checked", true)) {

    day[0].checked = false
    week[0].checked = false

} else if ($("#day").prop("checked", true)) {

    now[0].checked = false
    week[0].checked = false

} else if ($("#week").prop("checked", true)) {

    now[0].checked = false
    day[0].checked = false

} else {
    console.log("undefined radio")
}
<h1>Select action</h1>
<br>
<label class="control control--radio">Shoot Now
    <input type="radio" name="now" id="now" value="now" autofocus/>
    <div class="control__indicator"></div>
</label>
<label class="control control--radio">Shoot 1x a day
    <input type="radio" name="day" id="day" value="0 * * * *" autofocus/>
    <div class="control__indicator"></div>
</label>
<label class="control control--radio">Shoot 1x a week
    <input type="radio" name="week" id="week" value="0 * * * 1" autofocus/>
    <div class="control__indicator"></div>
</label>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js'></script>

最佳答案

如果您为所有单选按钮提供相同的名称属性,您将只能选择其中一个。

例如,给予所有name="now"

<h1>Select action</h1>
<br>
<label class="control control--radio">Shoot Now
    <input type="radio" name="now" id="now" value="now" autofocus/>
    <div class="control__indicator"></div>
</label>
<label class="control control--radio">Shoot 1x a day
    <input type="radio" name="now" id="day" value="0 * * * *" autofocus/>
    <div class="control__indicator"></div>
</label>
<label class="control control--radio">Shoot 1x a week
    <input type="radio" name="now" id="week" value="0 * * * 1" autofocus/>
    <div class="control__indicator"></div>
</label>

除了您的问题之外:

not let the user remove click

这是因为单选按钮无法取消选择,您应该使用复选框

<input type="checkbox" id="your_id" name="your_name" value="your_value">

<h1>Select action</h1>
<br>
<form>
<label class="control control--radio">Shoot Now
    <input type="checkbox" name="now" id="now" value="now" autofocus/>
    <div class="control__indicator"></div>
</label>
<label class="control control--radio">Shoot 1x a day
    <input type="radio" name="now" id="day" value="0 * * * *" autofocus/>
    <div class="control__indicator"></div>
</label>
<label class="control control--radio">Shoot 1x a week
    <input type="radio" name="now" id="week" value="0 * * * 1" autofocus/>
    <div class="control__indicator"></div>
</label>
</form>

关于javascript - 为单选按钮中的一项选择创建规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60792332/

相关文章:

javascript - 尽早检测图像的尺寸

javascript - jquery和ajax删除构造框

javascript - 让日期选择器默认显示今天的日期

html - 删除未使用的 css 代码

javascript - 这个函数如何创建一个对象

javascript - iframe : How to display Type and ID

javascript - 使用 "choose file"输入更改 div backgroundImage

javascript - 检测元素是否插入并根据元素运行函数

php - 为什么悬停时显示的元素没有显示在嵌套的 CSS 下拉列表中?

javascript - 如何将 JS 变量添加到错误消息中并保留一个字体 ID 标签