<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<table style="width:100%">
<tr>
<th>Yes/No</th>
<th>Toggle</th>
</tr>
<tr>
<td class="yn">Yes</td>
<td class="switch-container">
<input type="checkbox" checked>
<div class="switch"><div class="toggle"></div>
<span class="on">YES</span><span class="off">NO</span></div></td>
</tr>
<tr>
<td class="yn">No</td>
<td class="switch-container">
<input type="checkbox" checked>
<div class="switch"><div class="toggle"></div>
<span class="on">YES</span><span class="off">NO</span></div></td>
</tr>
</table>
<script
src="https://code.jquery.com/jquery-3.2.1.min.js"
integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
crossorigin="anonymous"></script>
</body>
</html>
// TRIM FUNCTION
if (typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}
// TOGGLE FUNCTIONALITY
$(document).ready(function() {
// FIND DEV YES/NO INPUT & CHECK VALUE
var ynCell = $("td.yn");
$(ynCell).each(function() {
var ynValue = $(ynCell).text().toLowerCase().trim();
// IF VALUE = NO, DISPLAY TOGGLE CLASS 'ON'
// IF VALUE = YES, DISPLAY TOGGLE CLASS 'OFF'
if (ynValue.indexOf('no') != -1) {
$(".switch").parent().find('input:checkbox').attr('checked', false);
$(".switch").removeClass('off').addClass('on');
} else if (ynValue.indexOf('yes') != -1) {
$(".switch").parent().find('input:checkbox').attr('checked', true);
$(".switch").removeClass('on').addClass('off');
}
});
$(".switch").each(function() {
if ($(this).parent().find('input:checkbox').length) {
if (!$(this).parent().find('input:checkbox').hasClass("show")) {
$(this).parent().find('input:checkbox').hide();
}
if ($(this).parent().find('input:checkbox').is(':checked')) {
$(this).removeClass('on').addClass('off');
} else {
$(this).removeClass('off').addClass('on');
}
}
});
$(".switch").click(function() {
if ($(this).hasClass('on')) {
$(this).parent().find('input:checkbox').attr('checked', true);
$(this).removeClass('on').addClass('off');
} else {
$(this).parent().find('input:checkbox').attr('checked', false);
$(this).removeClass('off').addClass('on');
}
});
});
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |