Passando o objeto jQuery e o valor de retorno do webMethod para uma função de sucesso
-
23-09-2019 - |
Pergunta
Estou ligando para um WebMethod
A partir deste código:
if($(this).attr("checked")) {
..
MyWebMethod(variable1, variable2, onSuccessFunction);
}
o MyWebMethod
Retorna um número inteiro e eu quero definir $(this).attr("id")
do objeto jQuery acima para o número inteiro devolvido. Basicamente, estou tentando fazer o equivalente a um MVC Ajax.ActionLink...AjaxOptions {UpdateTargetID =...}
No entanto, não consigo descobrir como obter uma referência a $(this)
bem como o valor retornado. Por exemplo, se eu fizer:
MyWebMethod(variable1, variable2, onSuccessFunction($(this)));
Eu posso manipular com sucesso o objeto jQuery, mas obviamente ele não tem o valor de retorno do MyWebMethod
. Alternativamente, o primeiro bloco de código com uma assinatura de método de onSuccessFunction(returnValue)
tem o valor de retorno correto de MyWebMethod
, mas nenhum conceito do objeto jQuery que estou procurando. Estou fazendo isso tudo errado?
Solução
Não sei exatamente quais parâmetros a função Onsuccess em seu primeiro exemplo está esperando, mas algo assim será o que você está procurando.
if($(this).attr("checked")) {
var el = $(this);
MyWebMethod(variable1, variable2, function(x, y z) { onSuccessFunction(x, y, z, el); });
}
** ATUALIZAÇÃO ** Corrigido para evitar um problema de escopo "esse".