如何使用* jquery mmenu插件检查是否选中了复选框*

时间:2016-03-09 22:39:32

标签: javascript jquery checkbox mmenu

嗨:)我猜的主题很有说服力。我知道之前曾问过这个问题,但提议的解决方案都没有使用 mmenu插件

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

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

HTML // bicisenda是输入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");    
  }

});

作者&#39; splugin建议我尝试以下代码:

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

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

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

2 个答案:

答案 0 :(得分:0)

在深入挖掘插件代码后,我终于开始工作了。

解决方案如下

HTML

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

<强> JQuery的

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

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

        console.log("Checked");    

      }  
  });
}  

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

答案 1 :(得分:0)

&#13;
&#13;
$('ul li  label span #bicisenda').click(function() {
if(this.checked) {
    console.log("Checked");
    alert("checked");
} else {
    console.log("UnChecked");
    alert("Un Checked");
}
});
&#13;
input[type="checkbox"] {visibility: hidden;position: absolute}
label {padding: 20px;cursor: pointer;}
&#13;
<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>
&#13;
&#13;
&#13;