【发布时间】:2021-11-27 17:20:12
【问题描述】:
我有一个 div,它有一个用于动态创建单选按钮的输入,默认情况下我需要检查一个值。我为所有单选按钮使用了唯一的名称,并使用 document.querySelector 结合名称和值来选择它们
【问题讨论】:
标签: jquery
我有一个 div,它有一个用于动态创建单选按钮的输入,默认情况下我需要检查一个值。我为所有单选按钮使用了唯一的名称,并使用 document.querySelector 结合名称和值来选择它们
【问题讨论】:
标签: jquery
Template literals 会帮助你。
逻辑
checked 属性,方法是使用正确的属性选择它们。我为所有单选按钮使用了一个唯一的名称,并使用document.querySelector 结合name 和value 选择它们
工作小提琴
$(document).ready(function () {
const genders = ['Male', 'Female', 'None'];
let template = '';
genders.forEach((gender) => {
template += `
<div>
<input id="${gender}_Gender"
class="htmlControl"
type="radio"
${gender === "None" ? 'checked' : ''}
name = "gender_selection_radio"
value="${gender}">
<label for="${gender}_Gender_${gender}" class="form_label"> ${gender}</label>
</div>`
});
$("#ddContainer").html(template);
});
function updateRadioSelection() {
const selectedValue = document.getElementById("genderSelector").value;
if (selectedValue) {
document.querySelector(`input[name='gender_selection_radio'][value=${selectedValue}]`).checked = true;
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="ddContainer"></div>
<select name="" id="genderSelector" onchange="updateRadioSelection()">
<option value="">Please Select</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
<option value="None">None</option>
</select>
【讨论】:
input:radio:first 选择输入。这将始终只返回第一个元素。相反,您可以使用 input:radio:[value='None'] 之类的值来选择它们
None 的值是否始终为value="1"? tis映射的逻辑是什么?
None always,则可以使用文本内容进行选择