2012-12-27 27 views
0

我想在选择器.hapus-baris-makanan上显示一个按钮,当nama-makanan的数组形式不止一个,然后选择器中的按钮.hapus-baris- makanan将会出现,但是如果array-form的数量为nama-makanan blank/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> 

的javascript:

$(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

你检查你的控制台? – 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应该开始了与风格display:none

+0

它没有工作太:( – ramadani