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?

Foi útil?

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".

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top