2012-12-27 2 views
0

선택기에 버튼을 표시하고 싶습니다 .hapus-baris-makanan nama-makanan 배열 형식의 숫자가 하나 이상인 경우 선택기의 버튼 .hapus-baris- makanan이 나타납니다. 그러나 array-form nama-makanan 공백/null의 숫자 인 경우 .hapus-baris-makanan 선택기의 버튼이 숨겨집니다. 다음 코딩 내가 만든태그 선택기가 동적 양식으로 표시되지 않습니다

HTML

<form id="formpembayaran" method="post" action="<?php echo base_url('pembayaran/simpanitempembayaran'); ?>"> 

    <table class="table table-striped area-table tabel-form-makanan"> 
     <thead> 
      <tr> 
       <th>Nama Makanan</th> 
       <th>Jenis Makanan</th> 
       <th>Harga Makanan</th>        
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td> 
        <input type="text" name="nama-makanan[]" style="height: 30px; width: 280px;" class="nama-makanan" placeholder="ketikkan nama makanan"/> 
        <input type="hidden" name="id-makanan[]" class="id-makanan"/> 
       </td> 
       <td> 
        <input type="text" readonly name="nama-jenis-makanan[]" style="height: 30px; width: 280px;" class="nama-jenis-makanan" placeholder="nama jenis makanan"/> 
       </td> 
       <td> 
        <input type="text" readonly name="harga-makanan[]" style="height: 30px; width: 280px; text-align: right;" class="harga-makanan" placeholder="harga satuan makanan"/> 
       </td> 
       <td> 
        <a class="btn hapus-baris-makanan"><i class="icon-remove"></i></a> 
       </td> 
      </tr> 
     </tbody> 
    </table> 

자바 스크립트 :

$(document).ready(function(){ 

    var myForm = document.forms.formpembayaran; 
    var idMakanan = myForm.elements['nama-makanan[]']; 

    if (idMakanan.length == null){ 
     $('.hapus-baris-makanan').hide(); 
    } else { 
     $('.hapus-baris-makanan').show(); 
    } 

    $('.tombol-tambah-makanan').on('click', function(){ 
     var tr = '<tr>\n\ 
        <td><input type="text" name="nama-makanan[]" style="height: 30px; width: 280px;" class="nama-makanan" placeholder="ketikkan nama makanan"/><input type="hidden" name="id-makanan[]" class="id-makanan"/></td>\n\ 
        <td><input type="text" readonly name="nama-jenis-makanan[]" style="height: 30px; width: 280px;" class="nama-jenis-makanan" placeholder="nama jenis makanan"/></td>\n\ 
        <td><input type="text" readonly name="harga-makanan[]" style="height: 30px; width: 280px; text-align: right;" class="harga-makanan" placeholder="harga satuan makanan"/></td>\n\ 
        <td><a class="btn hapus-baris-makanan"><i class="icon-remove"></i></a></td>\n\ 
       </tr>'; 
     $("table.tabel-form-makanan tbody").append(tr);     
    }); 

    $('.tombol-reset-makanan').on('click', function(){ 
     $('table.tabel-form-makanan tbody tr:not(:first)').remove(); 
    }); 

    $('.tabel-form-makanan').on('click', '.hapus-baris-makanan', function(){ 
     $(this).closest('tr').remove() 
    }); 
    }); 

나는 오류의 위치를 ​​알고하지 않습니다. 도와주세요, 제발. 감사합니다

+0

당신이 당신의 콘솔을 확인 했 스타일 display:none으로 시작해야합니까? – asgoth

+0

입력 요소에 '[]'을 사용하는 이유는 무엇입니까? 이것은 필요하지 않습니다. 제출할 때 동일한 이름의 입력란이 누적됩니다. – asgoth

+0

죄송 합니다만, 그들의 명명법과 코드는 문제의 해결을 용이하게하지 못합니다. 문제를 나타내는 코드를 가장 간단하고 명료하게 알리는 것이 도움이 될 수 있습니다. –

답변

0

이 :

var myForm = document.forms.formpembayaran; 
var idMakanan = myForm.elements['nama-makanan[]']; 

if (idMakanan.length == null){ 
    $('.hapus-baris-makanan').hide(); 
} else { 
    $('.hapus-baris-makanan').show(); 
} 

은 다음과 같아야합니다

if($('.nama-makanan').length){ 
    $('.hapus-baris-makanan').show(); 
} else { 
    $('.hapus-baris-makanan').hide(); 
} 

.hapus-baris-makanan

+0

너무 효과가 없습니다. ( – ramadani