2016-05-26 3 views
0

で私の行を繰り返すからのonclick javascript関数は、私がボタンを持っています。停止テーブル

問題は、ボタンをクリックするたびに新しい行が開きます。私はそれをやめたい。私は行IDを保持する1つの行を開くだけです。

スクリプトコード:

function edit_row(process_id, row_id, item_id, quantity, price, total) { 
    $(".edit_row").remove(); 
    $(".add_row").remove(); 
    var row = '<tr class="bg-success"> < 
     td > <?php echo $lang['e_edit_items'];?>: < /td> < 
     td > '+ item_id +' < /td>'; 
    row += '<td><?php echo $lang[' 
    quantity '];?></td>'; 
    row += '<td><input type="text" class="form-control" id="quant1" value="' + quantity + '"></td><td><?php echo $lang[' 
    The - price '];?></td>'; 
    row += '<td><input type="text" id="price1" class="form-control" value="' + price + '"></td>'; 
    row += '<td><a class="btn btn-success btn-block"onclick="save_edit(' + process_id + ',' + row_id + ',' + item_id + ',' + quantity + ',' + total + ')"><?php echo $lang[' 
    Save_edit '];?></a></td></tr>'; 
    $("#" + row_id).after(row); 
    return false; 
} 
+0

この機能を無効にするか、ボタンなどを削除してください... –

+0

最も簡単な方法は、rowExistsのようなフラグを追加し、新しい行を追加して関数に追加するときですput(rowExists)が返して何もしません。編集が完了したときのように、関数を再び機能させたい場合は、それをfalseに戻してください。 – HotTowelie

+0

あなたのコードをもっと表示できますか?どのように関数にパラメータを渡していますか?私はあなたの ''には表示されません。 – IMTheNachoMan

答えて

0

あなたは、この例のようにクリック可能な要素のクリックイベントハンドラを削除することができます。

$("#button1").click(function(){ 
 
    $("table").append("<tr><td>New-1</td><td>New-2</td><td>New-3</td></tr>"); 
 
    $(this).unbind("click"); 
 
}); 
 
table, tr, td { 
 
    border: 1px solid black; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a href="#" id="button1">Add row</a> 
 
<table> 
 
    <tr> 
 
     <td>Column-1</td> 
 
     <td>Column-2</td> 
 
     <td>Column-3</td> 
 
    </tr> 
 
    <tr> 
 
     <td>Column-1</td> 
 
     <td>Column-2</td> 
 
     <td>Column-3</td> 
 
    </tr> 
 
</table>

しかし、この作業を行うために多くの方法があります。たとえば、buttonの場合はdisabled属性をクリック可能な要素に追加できます。属性またはclassを要素に追加するか、変数を使用してこれを行うことができます。他の方法の例を参照してくださいjsfiddle