javascript - 检查复选框是否根据名称被选中

标签 javascript jquery checkbox drop-down-menu selectedvalue

这是我的代码,无论是否检查某些内容,它总是返回“未检查任何内容”。

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/

相关文章:

Javascript:类属性在拖动事件期间变得未定义

javascript - 如何处理通过 websocket 通过 javascript 发送回 python 服务器的 blob?

jQuery - 只需绑定(bind)一个事件一次

java - 如何使用play框架2绑定(bind)和处理表单中的复选框列表

javascript - 获取表中动态生成的文本字段的值和 ID

javascript - webpack 通过插件在编译前添加文件

jquery - 弹出菜单和 Bootstrap(它没有以正确的宽度出现)

jquery - 如何使用jquery ajax方法发送数据

iPhone 邮件中的复选框

javascript - 为什么仅针对我所在的当前页面选中复选框