jQuery değişen elemanları nitelik

0 Cevap php

Ben kullanıcı bir div blok tekrarlanır "sunucu eklemek" tıkladığında bir form üzerinde çalışıyorum. Bunu atlatmanın başardı. Ben sadece tek bir sunucu bloğu varsa Ama ben niteliğini istiyorum name="servername" ve özellik name="servername[]" Tüm blokları üzerinde olması gerektiğini daha fazla öğe varsa.

Ben denedim ve ilk eklenti sunucuyu tıkladım ve ikinci bloğu name="servername[]" aldığında çalışır tek şey, ama ben ilk blok alır bir kez daha tıkladığınızda name="servername[][]".

$('#addserver').click(function() {
var num  = $('.clone').length;  // how many "duplicatable" input fields we currently have
var newNum = new Number(num + 1);  // the numeric ID of the new input field being added

// Create the new element via clone(), and manipulate it's ID using newNum value
var newElem = $('#server1').clone().attr('id', 'server' + newNum);

// Insert the new element after the last "duplicatable" input field  
$('#server' + num).after(newElem);

// Add [] for PHP array
$('#server' + num + ' input', '#server' + newNum + ' input').attr('name', function() {
 return this.name + '[]';
});

// Enable the "remove" button
$('#delserver').attr('disabled','');

// You can only add 5 elements
if (newNum == 5) $('#addserver').attr('disabled','disabled');
});

$('#delserver').click(function() {
var num = $('.clone').length; // how many "duplicatable" input fields we currently have
$('#server' + num).remove(); // remove the last element

// enable the "add" button
$('#addserver').attr('disabled','');

// If only one element remains
if (num-1 == 1) {

    // Remove [] because it's not php array anymore
    $('#server1 input').attr('name', function() {
        s = this.name.substring(0, this.name.length - 2);
        return s;
    });

    // Disable "remove" button
    $('#delserver').attr('disabled','disabled');
}
});

$('#delserver').attr('disabled','disabled');

İşte html örnek:

<div class="clone" id="server1">
  <input type="text" name="servername" size="40" />
</div>

Çünkü php dizi [] gerekir, ancak kullanıcı bir sunucu giren ve orada eğer [] adına çalışmıyor.

0 Cevap