Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vhuber

Function dentro de outra Function

Recommended Posts

Boa tarde,

queria saber se eh possivel fazer o que estou tentando fazer.

Existe minha pagina.php que tem um botao com o onlick chamando o a function js executar, que abre um pop up que dentro vai ter OUTRO botao que vai chamar a function DERRUBAR

 

fiz assim, mas nao ta indo:

function executar(id){
  var arr_data
    $.ajax({
      type: "POST",
      url: "rpc.php?module=cramais&cmd=executar",
      data: { ramal : id },
      async: false,
      success: function(data){
        console.log(id);
        console.log(data);
        arr_data = data;
        return true;
      },
      dataType: 'json'
    });
    var qtd = arr_data['chamadas'].length;
    
    var str_html = "<h1>Informações do ramal</h1>"+
    "<h3>Ramal: "+id+"</h3>"+
    arr_data['context']+"<br>"+
    arr_data['callgroup']+"<br>"+
    arr_data['pickupgroup']+"<br>"+
    arr_data['addrip']+"<br>"+
    arr_data['useragent']+"<br>"+
    arr_data['regcontact']+"<br>"+
    "<h1>Informações da Chamada</h1>"+
    "<table><tr><th>Canal</th><th>Duração</th><th>Bridge</th></tr>";
    for(i=0; i<qtd; i++){
      str_html += "<tr><td>" + arr_data['chamadas'][i]['canal'] + "</td><td>"+ arr_data['chamadas'][i]['duracao'] +"</td><td>"+ arr_data['chamadas'][i]['bridged'] +"</td><td><a href=# onclick=derrubar(+$arr_data[i]['canal']+)><img src=img/icons/view.png alt=Derrubar chamada></a> </td></tr>";
    }
    str_html += "</table>";
    
    function derrubar(id){
    $.ajax({
      type: "POST",
      url: "rpc.php?module=cramais&cmd=derrubar",
      data: { canal : id },
      async: false,
      success: function(data){
        console.log(id);
        arr_data = data;
        return true;
      },
    });
    
    $('#log').html(str_html).modal({
      containerCss:{
        width:450,
        height:300
      },
      onShow: function(dialog){
      },
      onClose: function(dialog) {
        $.modal.close();
      }
    });
    return false;
    }

 

Corrigindo este trecho que esquecei das ""


str_html += "<tr><td>" + arr_data['chamadas'][i]['canal'] + "</td><td>"+ arr_data['chamadas'][i]['duracao'] +"</td><td>"+ arr_data['chamadas'][i]['bridged'] +"</td><td><a href=# onclick=derrubar("+$arr_data[i]['canal']+"")><img src=img/icons/view.png alt=Derrubar chamada></a> </td></tr>";

Continua nao dando nada =/

 

Alguem sabe me dizer o que há de errado com essa concatenaçao?

var botao = "<a href=# onclick=derrubar("+$arr_data['chamadas'][i]['canal']+")><img src=img/icons/view.png alt=Derrubar chamada></a>";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua função derrubar() precisa estar disponível quando você terminar de carregar o conteúdo.

Por exemplo, quando você carrega sua modal, identifique o atributo que recebe a função ao carregar, talvez seja o onShow, ai ficaria assim:

 

//
onShow: function(){
  derrubar(){}
}
//

 

Eu costumo utilizar for( i in array ){} no lugar da estrutura normal do for como você fez e o js aceita corretamente o i na iteração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.