Can anyone provide insight into why the slider amounts aren't updating and the button icons do not change when created through a loop? If I go through and create each slider and variable named outside of a look it works fine. Not sure why it is not working.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Slider - Default functionality</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/resources/demos/style.css">
<script>
$(function() {
var locked = [];
var slider = [];
var i;
for (i = 0; i < 5; i++) {
$( "#slider" + i ).slider({
range: "max",
min: 0,
max: 100,
step: 0.01,
value: 20,
slide: function( event, ui ) {
$( "#amount" + i ).val( ui.value );
}
});
$( "#amount" + i ).val( $( "#slider-range-max" ).slider( "value" ) );
$( "#amount" + i ).val(20.00);
locked[i] = false;
$("#Lock" + i).button({
icons: {primary:'ui-icon-locked'},
text: false
}).click(function( event ) {
if(locked[i] == false){
$(this).button("option", {
icons: { primary: 'ui-icon-unlocked' }
});
locked[i] = true;
} else if(locked[i] == true){
$(this).button("option", {
icons: { primary: 'ui-icon-locked' }
});
locked[i] = false;
}
});
}
});
</script>
</head>
<body>
<table border='0' style="width:500px;">
<tr><td style="width:75px;">Var 1</td><td style="width:350px;"><div id="slider0"></div></td><td style="width:30px;"><input type="text" id="amount0" readonly value='20.00' style="width:40px;border:0; color:#f6931f; font-weight:bold;"></td><td><button id='Lock0'></td></tr>
<tr><td style="width:75px;">Var 2</td><td style="width:350px;"><div id="slider1"></div></td><td style="width:30px;"><input type="text" id="amount1" readonly value='20.00' style="width:40px;border:0; color:#f6931f; font-weight:bold;"></td><td><button id='Lock1'></td></tr>
<tr><td style="width:75px;">Var 3</td><td style="width:350px;"><div id="slider2"></div></td><td style="width:30px;"><input type="text" id="amount2" readonly value='20.00' style="width:40px;border:0; color:#f6931f; font-weight:bold;"></td><td><button id='Lock2'></td></tr>
<tr><td style="width:75px;">Var 4</td><td style="width:350px;"><div id="slider3"></div></td><td style="width:30px;"><input type="text" id="amount3" readonly value='20.00' style="width:40px;border:0; color:#f6931f; font-weight:bold;"></td><td><button id='Lock3'></td></tr>
<tr><td style="width:75px;">Var 5</td><td style="width:350px;"><div id="slider4"></div></td><td style="width:30px;"><input type="text" id="amount4" readonly value='20.00' style="width:40px;border:0; color:#f6931f; font-weight:bold;"></td><td><button id='Lock4'></td></tr>
</table>
</body>
</html>
Thanks!