如何使用 *jquery mmenu 插件*检查复选框是否处于选中状态

How to check if a checkbox is checked using *jquery mmenu plugin*

本文关键字:是否 于选中 复选框 状态 插件 何使用 jquery mmenu 检查      更新时间:2023-09-26

嗨:)我想这是一个非常解释性的主题。我知道以前有人问过这个问题,但是没有一个建议的解决方案适用于mmenu插件

以下是使用复选框的链接:http://mmenu.frebsite.nl/documentation/addons/toggles.html

我使用了两种方法来验证是否选中了复选框:

.HTMLBicisenda是输入ID。

<input id="bicisenda" type="checkbox" name="poi" value="Bicisenda" class="Toggle">

JS/JQuery

$('ul li ul li #bicisenda').click(function() {
  var _checked = $("#bicisenda").is(":checked"); 
  if (_checked) {
    console.log("Checked");    
  }
});

作者的插件建议我尝试下面的代码:

$('#bicisenda').change(function() {
  var _checked = $("#bicisenda").is(":checked"); 
  if (_checked) {
    console.log("Checked");    
  }
});

他的解释是,有了这个附加组件,输入是隐藏的,所以我看到一个链接到输入的标签。总结一下,我不点击输入。然而,他的建议也没有奏效。

任何想法如何检查复选框(或单选按钮)是否被选中?,提前非常感谢

在深入挖掘插件代码之后,我终于让它工作了。

解决方案如下

.HTML

<input id="bicisenda" type="checkbox" name="bic" value="Bicisenda" class="Toggle">

杰奎里

我做了一个在 html 代码中调用的函数。

function bicis() {
  var $bicisendas    = $('input[name="bic"');
  $bicisendas.click(function() {
      if ($bicisendas.is( ':checked' ))
      {
        console.log("Checked");    
      }  
  });
}  

我将输入的 jquery 对象存储在变量$bicisendas中,然后在发生单击事件时检查 checked 属性。我无法直接检查属性,因为检查按钮被标签包裹。我需要以这种方式隔离元素以摆脱包装器。这是我的理由,但作为 js/html5 新手,欢迎任何更详细的解释或解决方案:)

$('ul li  label span #bicisenda').click(function() {
if(this.checked) {
    console.log("Checked");
    alert("checked");
} else {
    console.log("UnChecked");
    alert("Un Checked");
}
});
input[type="checkbox"] {visibility: hidden;position: absolute}
label {padding: 20px;cursor: pointer;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul>
<li> 
<label><span> <!--img src="imagenes/bird1.png" /--><a href="#pi/Bicesendas">Bicisendas
<input id="bicisenda" type="checkbox" name="poi" value="Bicisenda" class="Toggle"></a>
</span>
</label>
</li>
</ul>