Loops and string concatenation, find nin the changes below:
var n;
for (n = 1; n <= 5; ++n) {
var theater_saved_name = localStorage.getItem("theater_" + n + "_name");
if (theater_saved_name !== null) {
document.getElementById("theater-" + n).innerHTML = theater_saved_name;
document.getElementById("theater_name_" + n).value = theater_saved_name;
}
$("#save-title-" + n).click(function () {
var title = $('#theater_name_' + n).val();
localStorage.setItem("theater_" + n + "_name", title);
$("#theater-" + n).text(title);
});
}
JavaScript, HTML . , , , , JavaScript.
, HTML ( ) ; - index/:
jsFiddle (Stack Snippets , grrr)
HTML:
<div class="theater">theater 1</div>
<div class="theater">theater 2</div>
<div class="theater">theater 3</div>
<div class="theater">theater 4</div>
<div class="theater">theater 5</div>
1
<input type="text" class="input-for-theater-title">
<button class="save-title">Save</button>
<br>2
<input type="text" class="input-for-theater-title">
<button class="save-title">Save</button>
<br>3
<input type="text" class="input-for-theater-title">
<button class="save-title">Save</button>
<br>4
<input type="text" class="input-for-theater-title">
<button class="save-title">Save</button>
<br>5
<input type="text" class="input-for-theater-title">
<button class="save-title">Save</button>
<button id="clear">Clear</button>
JavaScript:
var theaters = $(".theater");
var inputs = $(".input-for-theater-title");
var buttons = $(".save-title");
theaters.each(function(index) {
var name = localStorage.getItem("theater_" + index + "_name") || "";
$(this).html(name);
inputs.eq(index).val(name);
});
$(document.body).on("click", ".save-title", function() {
var index = buttons.index(this);
var title = inputs.eq(index).val();
localStorage.setItem("theater_" + index + "_name", title);
theaters.eq(index).text(title);
});