2013-03-08 5 views
0

У меня проблема с моим текущим запросом javascript/ajax. Я пытаюсь открыть диалоговое окно Jquery внутри моего .append моего кода следующим образом:Откройте диалоговое окно JQuery изнутри запроса Ajax?

for (var i in rows) 
{ 
    var row = rows[i];   
    var id = row[0]; 
    var NewEdit = row[0]; 
    var PreviousEdit = row[1]; 
    var FunctionName = row[2]; 
    var FunctionID = row[2] 
    function ShowInfo() 
    { 
    dialog('Original: <br>'+PreviousEdit+'<br><br> New: <br>' +NewEdit); 
    } 
    $('#RecentEdits').append("<br>Page: <a href=Page.php?ID="+FunctionID+">"+FunctionName+"</a> - <a href='#' OnClick='ShowInfo()'>Info</a>"); 
} 

Я только вставил relivant кода, если это необходимо, я могу разместить всю функцию.

Я знаю, что мои переменные правильно установлены из-за их распечатки.

Как открыть диалоговое окно, отображающее больше информации из функции Javascript?


Решение:

Как нет правильных ответов. Я использовал пример OQJF и производящее это:

<script> 
function ShowInfo(a,b) 
     { 
     alert('Original: \n'+unescape(a)+'\n\n New: \n'+unescape(b)); 
     }; 
    </script> 
    <script> 
//window.setInterval(function() 
//{ 
    $(function() 
    { 
    $.ajax({          
     url: 'RecentUpdates.php', data: "", dataType: 'json', success: function(rows)   
     { 
     $('#RecentEdits').empty(); 

      for (var i in rows) 
      { 
       var row = rows[i];   
       var id = row[0]; 
       var NewEdit = row[0]; 
       var PreviousEdit = row[1]; 
       var FunctionName = row[2]; 
       var FunctionID = row[3]; 
       $('#RecentEdits') 
       .append("<br>Page: <a href='Page.php?ID="+FunctionID+"'>"+FunctionName+"</a> - "); 
       $('#RecentEdits').append("<input type='button' onClick=ShowInfo('"+escape(PreviousEdit)+"','"+escape(NewEdit)+"'); value='Show'>"); 
      } 
     } 
    });  
    }); 
// }, 1000); 
    </script> 

, который позволил мне получить доступ к функции из моей распечатки Javascript.

У меня были проблемы с кавычками, обернутыми вокруг моего html, поэтому я решил сделать два добавления. И это, кажется, работает просто отлично!

+0

У вас был нестандартный статус (не выражение) в вашем коде, ожидающий редактирования. –

+0

Холодный Прошу, чтобы вы отправили ответ и объяснили, где я иду не так? Я только недавно занялся AJAX/Javascript, поэтому я все еще участвую в процессе обучения. – user2146021

ответ

0

Хотя, во-первых, я думаю, что вы должны установить функцию showInfo вне цикла и установить для него параметр 2. Ниже приведен пример кода, который я не тестировал, но он должен быть почти таким.

function ShowInfo(orginVal,newVal) 
     { 
     var msg =('Original: <br>'+orginVal+'<br><br> New: <br>' +newVal); 
     $(<div>msg</div>).appendTo('body).dialog();//maybe you can add some options for dialog 
     } 

ниже часть похоже есть другой функция.

for (var i in rows) 
    { 
     var row = rows[i];   
     var id = row[0]; 
     var NewEdit = row[0]; 
     var PreviousEdit = row[1]; 
     var FunctionName = row[2]; 
     var FunctionID = row[2] 

     $('#RecentEdits').append("<br>Page: <a href=Page.php?ID="+FunctionID+">"+FunctionName+"</a> - <a href='#' OnClick='ShowInfo(/*add your 2 parameters here*/)'>Info</a>"); 
    } s 
+0

должно быть ошибкой где-то в этой функции/изменении, потому что теперь я не получаю никакого вывода – user2146021

+0

Изменил его только на 'alert()' для тестирования .. и я до сих пор не могу достичь функции – user2146021

+0

Это просто образец, который дает вам представление о создании диалога и показывает вашу информацию, вы можете протестировать код или изменить его в соответствии с вашими требованиями. – OQJF

Смежные вопросы