0

ajax呼び出しを行った後、「成功」でjqueryオートコンプリートのセレクターを見つけようとしています。「成功」では、$(this) が $(".itemDescInput") になるように探していますが、そうではありません。その時点でそのセレクターを見つけるにはどうすればよいですか?

$(".itemDescInput").autocomplete({
    source: "invoices/invoice_items.php",
    select: function(event, ui) {
        var $it_desc = ui.item.value;
        $.ajax({
            type: "POST",
            url: "invoices/invoice_items_prices.php",
            data: "it_desc="+$it_desc,
            success: function(result){
                if(result != '') {
                    $(this).find("input .itemCostEach").val(result);
                }
            }
        });
    }
}); 
4

1 に答える 1

2

success()thisは、セレクターではなくAJAX 設定を参照します。呼び出しでコンテキストを設定することで、何thisを指すかを変更できます。ドキュメントを参照してください。ajax()

例えば:

    $.ajax({
        context: this,  // You could pass 'this' in directly if you wanted :)
        success: function(result) {
            // Refer to 'this' in the way you expect
        }
    });
于 2012-07-23T16:01:46.490 に答える