2015-06-23 20 views
5

Bu çalışma koduna sahibim ve sanırım biraz uzun ve gereksiz olabilir mi?Gereksiz girişi kontrol edin JQuery Code

$("#unique").click(function() { 

    if ($(this).is(':checked')) { 
     $(".lotud").show(); 
     $("#add_lot").hide(); 
     $("#lots_rows_contnr").hide(); 

     $(".lotud input").prop({disabled: false}) 
     $("#lots_rows_contnr input").prop({disabled: true}) 
    } 
    else { 
     $(".lotud").hide(); 
     $("#add_lot").show(); 
     $("#lots_rows_contnr").show(); 

     $(".lotud input").prop({disabled: true}) 
     $("#lots_rows_contnr input").prop({disabled: false}) 
    } 

}); 

cevap

6

Sen seçicileri katılmadan ve disabled özellik için temel olarak checked özelliğini kullanarak, DOMElement kendisinde checked özelliğini kullanarak, ternaries kullanımı yoluyla hafifçe kısaltabilir. Bunu deneyin:

$("#unique").click(function() { 
    $(".lotud").toggle(this.checked); 
    $("#add_lot, #lots_rows_contnr").toggle(!this.checked); 
    $(".lotud input").prop({ disabled: !this.checked }); 
    $("#lots_rows_contnr input").prop({ disabled: this.checked }); 
}); 

Orijinal veya yukarıdaki iki sürümden hangisinin daha okunaklı olduğu bir fikir konusudur.

+0

Teşekkürler @Rory i imzamı şimdi sizin onayınızı;) Bana da neden reddediyorum bir çalışma kodu var ve sadece özelleştirmek istiyorum – Youssef

İlgili konular