这是我的代码,无论是否检查某些内容,它总是返回“未检查任何内容”。
function rstSelfs() {
var chkds = document.getElementsByName('selfs');
if(chkds.checked) {
alert ("something is checked"); }
else {
alert("nothing is checked");
}}
我一直在使用上述内容作为测试,看看我是否能让代码正常工作。我有多个名为“selfs”的复选框,并且我希望下拉选择仅在没有选中任何名为“selfs”的框时重置。我假设代码看起来像这样,但这个或上面的代码都不起作用...请帮忙..我是新手,我尝试过搜索,这可能已得到答复,但我很抱歉它没有发送姓名大部头书。
我想要代码做的是这样的:
function rstSelfs() {
var chkds = document.getElementsByName('selfs');
if(chkds.checked) {
return false; }
else {
($('.CssSel').get(0).selectedIndex = 0) }
}
<form id="Service">
<input type="checkbox" name="site" id="cktmcom" onclick="isTsite()">
<input type="checkbox" name="selfs" id="ckselfc" onclick="isTsserv();isTextServC()">
<label for="checkbox">Self-Serve Classic</label><br>
<input type="checkbox" name="selfs" id="ckselfn" onclick="isTsserv();isTextServN()">
<label for="checkbox">Self-Serve Next-Gen</label><br>
<input type="checkbox" name="homeSer" id="ckhomes" onclick="isThs()">
<label for="checkbox">Home Services</label><br>
<input type="checkbox" name="mapp" id="ckmobilea" onclick="isTmApp()">
<label for="checkbox">Mobile App</label><br>
<input type="checkbox" name="checkbox" id="ckgem" onclick="isTextGem()">
<label for="checkbox">Gemini</label><br>
</form>
<form id="Service2">
<input type="checkbox" name="site" id="ckkmcom" onclick="isKsite()">
<label for="checkbox">mobile.com</label><br>
<input type="checkbox" name="selfs" id="ckKselfc" onClick="isKsserv();isKServC()">
<label for="checkbox">M Self-Serve Classic</label><br>
<input type="checkbox" name="selfs" id="ckKselfn" onClick="isKsserv();isKServN()">
<label for="checkbox">M Self-Serve Next-Gen</label><br>
<input type="checkbox" name="mapp" id="ckKmobilea" onclick="isKmApp()">
<label for="checkbox">M Mobile App</label><br>
</form>
名称为“selfs”的复选框控制 div = selfserve 的隐藏和显示。 仅当没有检查“ self ”时,我才需要重置下拉选择。 我实际上有 5 个名为 selfs 的复选框。代码相当大,这就是为什么其他 3 个缺失的原因。
HTML 下拉代码为:
<div id="selfserve" style="display:none">
<select class="CssSel" style="width:175px" onChange="ssPicker()">
<option value="1" selected style="color:red;" ssSel="**Self-Serve Issue**">Select Self-Serve
Issue</option>
<option value="2" ssSel="Entire Site Down">Entire Site Down</option>
<option value="3" ssSel="Login Issues">Login Issues</option>
<option value="4" ssSel="Usage Meter Issue">Usage Meter Issue</option>
<option value="5" ssSel="Change feature Issues">Change feature Issues</option>
<option value="6" ssSel="Page Loading Issues">Page Loading Issues</option>
<option value="7" ssSel="Extreme Latency">Extreme Latency</option>
<option value="8" ssSel="Navigation Issues">Navigation Issues</option>
</select>
</div>
<input type="button" name="reset_self" value="Reset" onClick="rstSelfs()">
最佳答案
不工作:
由于您使用 jQuery,因此您可以检查是否有任何复选框未选中:
function rstSelfs() {
var chkds = $("input[name='selfs']:checkbox");
if (chks.not(":checked").length > 0) {
return false;
} else {
($('.CssSel').get(0).selectedIndex = 0)
}
}
这可行,但我必须稍微修改一下!谢谢!
调整后,工作:
function rstSelfs() {
var chkds = $("input[name='selfs']:checkbox");
if (chkds.is(":checked")) {
return false;
} else {
($('.CssSel').get(0).selectedIndex = 0)
}
}
关于javascript - 检查复选框是否根据名称被选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27195538/