嗨:)我猜的主题很有说服力。我知道之前曾问过这个问题,但提议的解决方案都没有使用 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");
}
});
他的解释是,有了这个附加组件,输入被隐藏了,所以我看到一个链接到输入的标签。总结一下,我没有点击输入。 然而,他的建议也没有成功。
如何检查是否选中了复选框(或单选按钮)?有任何想法,非常感谢
答案 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)
$('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;