gpt4 book ai didi

javascript - 多个下拉菜单和单选按钮

转载 作者:行者123 更新时间:2023-11-30 09:31:02 25 4
gpt4 key购买 nike

我在这里有 2 个关于 vanilla JavaScript 的问题。 我不会使用 jQuery。

<强>1。创建多个下拉菜单。

我有这个 JavaScript 函数:

function loadTheDropdowns() {
var oTxt;
for (var i = 0; i < 11; ++i) {
var oEle = document.createElement('option');
if (i == 0) {
oTxt = document.createTextNode("select your tenure");
oEle.setAttribute('disabled', 'disabled');
oEle.setAttribute('selected', 'selected');
oEle.appendChild(oTxt);
} else {
oTxt = document.createTextNode(i);
oEle.appendChild(oTxt);
}
document.getElementById('compTenure').appendChild(oEle);
document.getElementById('posTenure').appendChild(oEle);
}
}

在我的 HTML 中,我将其设置为:

<body onload="loadTheDropdowns()">
How many years you worked on this company
<select name="Input" id="compTenure">
</select>
<br />
How many years you worked on your current position
<select name="Input" id="posTenure">
</select>
</body>

当我运行它时,没有加载任何下拉菜单。

如何加载下拉菜单?


<强>2。验证单选按钮。

我的 HTML 中有这段代码:

<table>
<tr>
<td>I was trained adequetly for my current position *</td>
<td><input name="cprb1" type="radio" value="V1" /></td>
<td><input name="cprb1" type="radio" value="V2" /></td>
<td><input name="cprb1" type="radio" value="V3" /></td>
<td><input name="cprb1" type="radio" value="V4" /></td>
<td><input name="cprb1" type="radio" value="V5" /></td>
</tr>
<tr>
<td>I am skillfull enough to fulfill my responsibility *</td>
<td><input name="cprb2" type="radio" value="V1" /></td>
<td><input name="cprb2" type="radio" value="V2" /></td>
<td><input name="cprb2" type="radio" value="V3" /></td>
<td><input name="cprb2" type="radio" value="V4" /></td>
<td><input name="cprb2" type="radio" value="V5" /></td>
</tr>
<tr>
<td>I have enough time to fulfill all my responsibility *</td>
<td><input name="cprb3" type="radio" value="V1" /></td>
<td><input name="cprb3" type="radio" value="V2" /></td>
<td><input name="cprb3" type="radio" value="V3" /></td>
<td><input name="cprb3" type="radio" value="V4" /></td>
<td><input name="cprb3" type="radio" value="V5" /></td>
</tr>
<tr>
<td>I have required to work a proper number of hours *</td>
<td><input name="cprb4" type="radio" value="V1" /></td>
<td><input name="cprb4" type="radio" value="V2" /></td>
<td><input name="cprb4" type="radio" value="V3" /></td>
<td><input name="cprb4" type="radio" value="V4" /></td>
<td><input name="cprb4" type="radio" value="V5" /></td>
</tr>
<tr>
<td>I find my current position secure *</td>
<td><input name="cprb5" type="radio" value="V1" /></td>
<td><input name="cprb5" type="radio" value="V2" /></td>
<td><input name="cprb5" type="radio" value="V3" /></td>
<td><input name="cprb5" type="radio" value="V4" /></td>
<td><input name="cprb5" type="radio" value="V5" /></td>
</tr>
<tr>
<td>I think my work is appritiate enough *</td>
<td><input name="cprb6" type="radio" value="V1" /></td>
<td><input name="cprb6" type="radio" value="V2" /></td>
<td><input name="cprb6" type="radio" value="V3" /></td>
<td><input name="cprb6" type="radio" value="V4" /></td>
<td><input name="cprb6" type="radio" value="V5" /></td>
</tr>
</table>
<input type="submit" value="Submit" onclick="validate()">

我正在使用这个函数来验证。

function validate() {
if (!document.getElementsByName('cprb1')[0].checked ||
!document.getElementsByName('cprb2')[0].checked ||
!document.getElementsByName('cprb3')[0].checked ||
!document.getElementsByName('cprb4')[0].checked ||
!document.getElementsByName('cprb5')[0].checked ||
!document.getElementsByName('cprb6')[0].checked) {
alert("RB not check");
}
}

问题是它只检查第一个单选按钮是否被选中。如果我删除 [0],它会警告 RB not check,即使我选择了单选按钮也是如此。

我该如何解决这个问题?

最佳答案

第一个答案:这是一个变量引用问题。您必须制作两个不同的 oEle 元素或使用 oEle.cloneNode(); 之类的

document.getElementById('posTenure').appendChild(oEle.cloneNode(true));

第二个答案:你只需要第一个复选框元素,你必须像这样循环它们:

function check(name) {
var cprb = document.getElementsByName(name);
for(var i = 0; i<cprb.length;i++){
if(cprb[i].checked)
return true;
}
}
function validate() {
if(!check('cprb1') && !check('cprb2') && !check('cprb3') && !check('cprb4') && !check('cprb5') && !check('cprb6'))
alert("RB not check");
}

关于javascript - 多个下拉菜单和单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46274369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com