2

jQueryでオートコンプリートプラグインを使用しており、オートコンプリートの結果で選択された要素を追加するメソッドを作成しました。

$("#buscar").autocomplete({
source: "procesos/buscarPersona.php",
minLength: 2,
select: function(event, ui ){
    var name = ui.item.value;
    var id = ui.item.id_persona;
    $("#acreditados tbody").append('<tr id='+id+'><td>'+name+'<td><td>Monto: $<input name="monto_'+id+'" type="text" /><img id="delete_'+id+'" src="img/ico-delete.gif" /></td></tr>');
}
});

ご覧のとおり、私のコードは入力要素を私のページに追加します。次に、他の方法で、以前に追加した入力の値を使用して操作を実行したいと思います。

$("#tablaAm").click(function(){
    var montoTotal = 0;
    $("input[name^='monto_']").each(function(index){
        alert(index + ': ' + $(this).val());
    });
    });

問題は、.each()がこの新しい要素に対して機能していないことです。ページの読み込み時に存在する入力に対して.each()を試しましたが、問題はありません。問題は、読み込み後に追加される要素です。

どうすればこれを機能させることができますか?live()メソッドを試しましたが、.eachはイベントではないと思います。

4

1 に答える 1

2

idではなくname属性を設定しています。

そのはず:

$('input[name^="monto_"]')
于 2012-04-27T22:29:12.103 に答える