ループのサポートが必要です...おそらく簡単ですが、コーディングに問題があります。
基本的に、既存のIDの番号を確認して、別の番号で一意のIDを作成できるようにする必要があります。これらの名前は次のようになります。id="poly'+i'"は、私の関数と順番に並んでいます。ここで、iは既存の要素の数と同じです。例:アレイ1、アレイ2、アレイ3は、アレイ1の作成ではi = 1に対応し、アレイ2ではi=2などに対応します。
現在、iは既存の要素の総数に基づいており、「CreateNew」関数はx = i + 1から駆動されます(したがって、上記の例では、新しい要素の名前はArray 4になります)。問題は、中間の数字の1つを削除すると、「作成」機能が大きい数字を複製することです。つまり、アレイ1、2、3は2を削除し、新規作成->アレイ1、3、3を作成します。
配列がすでに存在するかどうかを確認するためのif()ステートメントが必要です。その後、for()ループを使用して、検証されるまですべてのiを循環します。これをどのようにコーディングするかわからない。
私が修正しようとしているコードは以下のとおりです(私はこれを最初に書いたのではなく、最小限のJSスキルで修正しようとしているだけです):
function NewPanel() {
var i = numberOfPanels.toString();
var x = (parseInt(i)+1).toString();
$('#items').append('<div onclick="polygonNameSelected(event)" class="polygonName" id="poly'+i+'"> Array '+ x +' <a href="javascript:void(0)" onclick="removePolygon('+i+');return false;"> </a></div>');
$('div[id*=poly]').removeClass('selected');
$('#poly'+i).addClass('selected');
$('#poly'+i).click(function() {
selectedPolygon = i;
$('div[id*=poly]').removeClass('selected');
$(this).addClass('selected');
});
}
ありがとう!:)