ajaxでは、項目の1行を追加して入力のid値を課します(phpを開くボタンに接続されていますその特定のアイテムカードを持つページ)。 最初のエントリ(追加による)は正常です:アイテムは正しく表示され、そのIDはボタン に正しく割り当てられていますが、後続の行に次の項目を追加すると、 itemは機能しません。これらのidのすべてがall(id_item = 1 & id_item = 2 & id_item = 3 ...
)の値を持ちます。 append関数は属性の設定を保持しません。jquery:追加された入力の値を一度に1つずつ追加する
$.ajax({
...
success: function(id_item) {
var row_appended = (
'<tr class="class_tr" id="id_tr">' +
'<td width="90%">NEW ITEM</td>' +
'<td width="10%">' +
'<form method="GET" action="see_item.php">' +
'<input type="hidden" name="id_item" class="id_item" value=0>' +
'<button type="submit" class="button_change_item" title="see item">See item</button>'+
'</form>' +
'</td>' +
'</tr>'
);
//$(append).appendTo('table#tabella_elenco_clienti');
//OR:
$("#table_items").last().append(row_appended);
//$('table#table_items tr :input[value="0"]').val(id_item);
//OR:
$('#table_items tr:last :input.id_item').val(id_item);
},
error: function(){
alert("Error!!!");
}
});
の
.on
jqueryのアクションは、実際のHTMLを見て参考になるが、jQueryのラインの両方が間違っているように見えます。最初の行は、最後の行の後ではなく、テーブルの最後の行の内側に新しい行を追加するようです。 2番目のjquery行は有効ではないようで、必要なはずです。 2番目の問題を修正するには、生成されたHTMLを変更する必要があります: ''' + ' – AnialationBasicあなたがしようとしているものの例:[JS Fiddle](https://jsfiddle.net/xxhwo6kh/) – Anialation
@Anialation、ありがとうございます。しかし、あなたのスクリプトでは、すべての項目が同じIDを持っています。項目n。 2は異なるIDを持っています(ajax経由でPHPページを収集します)、スクリプトは同じIDを設定します:-( –