use*_*151 5 html javascript jquery material-design
我的HTML中包含以下Material Design Lite开关,并且正在寻找一些javascript帮助。
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-1">
<input type="checkbox" id="switch-1" class="mdl-switch__input" checked />
<span class="mdl-switch__label">USEREMAIL Subscribed</span>
</label>
Run Code Online (Sandbox Code Playgroud)
单击开关后,我要添加:
切换功能以将选中状态更新为未选中状态-例如打开和关闭开关,但正在此处寻求JavaScript帮助。
我想真正具有“已订阅”和“未订阅”的值,作为显示在其旁边的文本,如图所示(但在html中进行了硬编码)。动态更改是否可行?
谢谢你的时间。我确实找到了这个作为参考,但是它使用的是CheckBox。
如果你参考mdl的源码,你会发现check和uncheck函数是绑定了label标签的。
您可以指定一个 id 来标记,如下所示:
<label id="check" class="mdl-switch mdl-js-switch mdl-js-ripple-effect" for="switch-1">
<input type="checkbox" id="switch-1" class="mdl-switch__input"/>
<span class="mdl-switch__label">Subscribed</span>
</label>
<input type="button" value="test switch" id="btn"/>
Run Code Online (Sandbox Code Playgroud)
MDL 本身支持按钮单击时的开/关状态切换。您还可以通过另一个按钮控制状态。
$("#btn").click(function() {
if($('#check').is('.is-checked')) {
$('#check')[0].MaterialSwitch.off();
}
else {
$('#check')[0].MaterialSwitch.on();
}
});
Run Code Online (Sandbox Code Playgroud)
要动态更新开关标签,代码可以如下所示。在页面加载时绑定输入的更改事件并在开/关状态更改时更新标签文本。
//toggle label
$('#check input').change(function(){
if($(this).is(':checked'))
$(this).next().text("Unsubscribed");
else
$(this).next().text("Subscribed");
});
Run Code Online (Sandbox Code Playgroud)
这是jsFiddle 代码。答案对你来说有点晚了,但我希望它仍然有帮助。
| 归档时间: |
|
| 查看次数: |
4879 次 |
| 最近记录: |