2012-12-27 51 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