2016-03-26 16 views
1

ile Codeigniter giriş alanını etkinleştirmek Ben giriş alanlarının aşağıdaki kod:Devre Dışı/jquery

echo form_label('Name :', "first_name[0]"); 
echo form_input("first_name[0]", set_value("first_name[0]")); 
echo form_error("first_name[0]"); 

Bu aşağıdaki HTML kodunu verir:

<label for="first_name[0]"> Name: </label> 
<input type="text" name="first_name[0]" value> 

Bu 2 barındırır bir form parçasıdır -5 katılımcı. Fikir, en az aktif olan 2 isim alanına sahip olmak, diğer 3 ise varsayılan olarak devre dışı bırakmak ve bunları bir onay kutusuyla etkinleştirebilirsiniz. JQuery ile çok iyi değilim ve bunu başaramıyorum. Alanı yeniden etkinleştirmek için onay kutusu seçildiyse, herhangi bir girişi silmek için tekrar jQuery ile mümkün mü ve ardından işaretlenmemiş mi?

+0

Eğer dom neye benzediğini gösteren daha iyi. – smerny

+0

Haklısınız. Hatam, kodun çıktısını HTML’de ekledim. –

cevap

1

emin değilim ama böyle bir şey arıyor (JSFiddle) inanıyoruz:

<div class="participant"> 
    <label for="first_name[0]"> Name: </label> 
    <input type="text" name="first_name[0]" value> 
</div> 
<div class="participant"> 
    <label for="first_name[0]"> Name: </label> 
    <input type="text" name="first_name[0]" value> 
</div> 
<div class="participant"> 
    <label for="first_name[0]"> Name: </label> 
    <input type="text" name="first_name[0]" value> 
</div> 
<div class="participant"> 
    <label for="first_name[0]"> Name: </label> 
    <input type="text" name="first_name[0]" value> 
</div> 
<div class="participant"> 
    <label for="first_name[0]"> Name: </label> 
    <input type="text" name="first_name[0]" value> 
</div> 
<button id="add-participant"> 
    Add Another 
</button> 

js

$(".participant:gt(1)").addClass("hidden"); 
$("#add-participant").on("click", function() { 
    $(".participant.hidden").first().removeClass("hidden"); 
    if(!$(".participant.hidden").length) { 
    $(this).hide(); 
    } 
}); 

Sadece ilk 2 ilk başta görünür olacak, ancak Daha fazla bilgi eklemek için düğmeye tıklayabilirsiniz ... 5.

Ya da ... böyle bir şey muhtemelen daha iyi olurdu ... sadece tek bir katılımcıdan başlayarak daha fazla Kaldırma yeteneği ile gerekli. Eğer jQuery yardım istiyorsanız

JSFiddle

+0

DÜZENLEME: Bir sorunla karşılaştım - ilk örnekte katılımcı eklemek için düğmeye bastığımda, formum gönderilir. Aksi halde harika çalışıyor, teşekkürler! –

+0

Edit2: Sorunu formun gönderilmesiyle giderdim. Şimdi böyle görünüyor: "$ (". Katılımcı: gt (1) "). AddClass (" hidden "); $ (". Add-participant") on ("tıklayın", function() { event.preventDefault(); $ (". Participant.hidden") first(). RemoveClass ("hidden"); if ($() "participant.hidden." uzunluk!.) { $ (this) .hide(); } }); ' –

+0

@MihailIvanchev, ben senin – smerny