Jquery-切换按钮类和操作
Jquery - Toggle button class and action
我想在不刷新页面的情况下创建切换按钮onclick编写本地存储并动态切换类。它在某种程度上就像一个复选框。这是代码:
....
document.write("<button id='wawa_"+i+"'");
if (!checked) {
document.write("class='buttons uncheck' onClick='clickYes("+i+")'");
} else {
document.write("class='buttons check' onClick='clickNo("+i+")'");
}
document.write(">cek</button>");
document.write("</td></tr>");
}
document.write("</table>");
function clickYes(x) {
window.localStorage.setItem("selected"+x, x);
alert("yeaaaahhh"); }
function clickNo(x) {
window.localStorage.removeItem("selected"+x);
alert("noooo");
}
使用此代码,它不能在运行中更改数据已保存,但如果要删除数据,则必须刷新页面(因为按钮操作不会更改)我正在开发一个调度程序应用程序。
尝试使用DOM元素,而不是将HTML写入文档
而且尽量不要将值"硬编码"为参数:(
相反,你可以。。。
...
for (var i = 0; i < n; i++) {
var btn = document.createElement('button');
btn.className = 'buttons uncheck';
btn.setAttribute('data-index', i);
btn.setAttribute('data-checked', false);
btn.onclick = function() {clickAction()}
document.getElementById('your-table-id').append(btn);
}
function clickAction() {
var x = this.getAttribute('data-index');
if (this.getAttribute('data-checked') == 'false') {
localStorage.setItem("selected" + x, x);
btn.setAttribute('data-checked', true);
this.className = 'buttons check';
alert("noooo");
} else {
localStorage.removeItem("selected" + x);
btn.setAttribute('data-checked', false);
this.className = 'buttons uncheck';
alert("yeeeees");
}
}
我认为这应该有效,这不是你能得到的最好的代码,但试着理解如何使用DOM,然后当你理解它时,试着使用JQuery或Zepto,这些会对你有很大帮助。
请检查https://developer.mozilla.org/en-US/docs/DOM了解更多信息。
相关文章:
- jQuery:暂停按钮可以暂停所有其他操作
- 将文本框中的值用于按钮窗体操作上的变量
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- 根据当前用户启用“自定义操作”按钮
- 如何在用户到达iframe分区末尾时显示操作按钮
- 如何在chrome扩展中插入通知操作按钮
- 操作无法使用自定义控件上的呈现属性集,该控件包含操作按钮
- 每次点击网页操作按钮时,Chrome 扩展程序都不会运行
- 无法让Gmail一键确认操作按钮工作
- 如果在按 jqgrid 中的保存操作按钮返回错误,如何保持内联添加
- 单击“操作”按钮时,每次单击此按钮时显示一组字段
- 我如何制作一个外观和行为都像切换的浏览器操作按钮
- 通过id操作按钮
- 刷新和操作按钮Html
- 单击操作按钮刷新部分视图
- 在排序行上重新排序操作按钮
- 单击Chrome扩展浏览器操作按钮时不显示弹出窗口
- 如何将操作按钮添加到jqgrid中,如演示中所示
- 动态创建的DOM操作按钮未触发事件
- 在 Shiny 中单击操作按钮后,将光标聚焦在文本区域中