次の例は有効で正常に動作しますが、長すぎて同じことが頻繁に繰り返されます。(複数のアップロード属性 (HTML5) を使用できない可能性があるため、この方法で行う必要があります)。ユーザーは複数のファイル (最大 5 つ) をアップロードでき、毎回新しい input-file-element を介してアップロードできる必要があります。必要な場合にのみ表示されます。
これは HTML 部分です:
<input type="file" id="image1" class="fileImage">
<button class="cShow" id="show_i2">+1</button><br/>
<input type="file" id="image2" class="fileImage">
<button class="cShow" id="show_i3">+1</button>
<button class="cDel" id="del_i2">Delete</button><br/>
<input type="file" id="image3" class="fileImage">
<button class="cShow" id="show_i4">+1</button>
<button class="cDel" id="del_i3">Delete</button><br/>
<input type="file" id="image4" class="fileImage">
<button class="cShow" id="show_i5">+1</button>
<button class="cDel" id="del_i4">Delete</button><br/>
<input type="file" id="image5" class="fileImage">
<button class="cDel" id="del_i5">Delete</button><br/>
これはjQuery-Partです:
$('#show_i2').click(function(event) {
$('#image2, #show_i3, #del_i2').show();
$('#show_i2').hide();
event.preventDefault();
});
$('#show_i3').click(function(event) {
$('#image3, #del_i3, #show_i4').show();
$('#show_i3, #del_i2').hide();
event.preventDefault();
});
$('#show_i4').click(function(event) {
$('#image4, #del_i4, #show_i5').show();
$('#show_i4, #del_i3').hide();
event.preventDefault();
});
$('#show_i5').click(function(event) {
$('#image5, #del_i5').show();
$('#show_i5, #del_i4').hide();
event.preventDefault();
});
$('#del_i2').click(function(event) {
$('#image2, #del_i2, #show_i3').hide();
$('#show_i2').show();
event.preventDefault();
});
$('#del_i3').click(function(event) {
$('#image3, #del_i3, #show_i4').hide();
$('#show_i3, #del_i2').show();
event.preventDefault();
});
$('#del_i4').click(function(event) {
$('#image4, #del_i4, #show_i5').hide();
$('#show_i4, #del_i3').show();
event.preventDefault();
});
$('#del_i5').click(function(event) {
$('#image5, #del_i5').hide();
$('#show_i5, #del_i4').show();
event.preventDefault();
});
これを短くするにはどうすればよいですか?