2016-05-04 9 views
0

は、jqueryのコードである(簡略化)に行加算しますjqueryのは、次のような2 TRの代わりに、第1、TR IはjQueryの動的テーブルに行を追加している

<span class="add_time" id="add_icon_1"><button class="btn btn-success" type="button">+ Add Time</button></span> 

jQueryのボタンコード:

<table id="timestart"> 
    <?php foreach ($invoice['InvoiceTime'] as $key=>$item){?> 
    <tr id="times_<?php echo $key+1?>"> 
    <?php } ?> 
    <?php }else{?> 
    <tr id="times_1"> 

私は時間を追加するボタンを持っています

$(document).on('click','.add_time',function(){ 
    var add_time_id = $(this).attr('id'); 
    var add_time_arr = add_time_id.split("_"); 
    var time_id = add_time_arr[add_time_arr.length-1]; 
    addTimeRow(time_id); 
}); 
コードはテーブルに行を追加しますが、必要な場所に行を追加しません。私はそれが動作したい方法は、あなたは追加の時間]ボタンをクリックすると、出力は以下のようなです:

<table> 
<tr><-- Time added here at the beginning no matter what 
<td></td> 
</tr> 
<tr><-- Previous added time 
etc 

追加注:Nietダークアブソルからの投稿提案を以下のとき

削除行が壊れています:

$(".deletetime").on('click', function() { 
$(this).closest('tr').remove(); 
}); 
+0

すべての 'if'ブロックを削除して、' $( 'table')を実行してください。prepend(html); '? –

+0

ボタンのIDを増やすか、常に1になりますか?また、あなたのコードが重複するIDを生成するように見える – Pete

+0

@NiettheDarkAbsolそれは何とか私の削除ボタンのコードを破る(悪い投稿)、そして1つの代わりに最初に2行を追加... – Steven

答えて

0

ちょうどそうのような、append操作を使用します。

$(function(){ 
    $('.tbody').append('<tr>TableDataHere</tr>'); 
}) 

これは正しく動作し、すでに持っているもののようなものは必要ありません。なぜPHP(?)を使用しているのか100%はわかりません。あなたがしようとしていることを私が推測できれば、JQueryはこれをよりクリーンかつ迅速に行うことができます。

+0

だから私は80行のコードをhtmlで包んだ+ "何でも" ;上記のようにすべてを変更するだけですか?PHPがデータベースからデータを呼び出すために使用されています - データが存在する場合は一方向を表示し、そうでない場合は別の方法を表示してください – Steven

+0

はい! 'append'操作は、 (この場合は 'tbody')の子要素として引数に指定されています.DB接続を使用していない限り、PHPは必要ありません。 – RhysO

+0

データベース接続を使用しています:私は試してみよう! – Steven

関連する問題