Не получаю отклика от функции

  • Автор темы Автор темы peshkov
  • Дата начала Дата начала

peshkov

Новичок
Не получаю отклика от функции

Скрипт на jquery для проверки доменов.
PHP:
	$(document).ready(function()
{
	    $('.order').click(function()
	    {
	        alert('OK');
	    });
	     
	    $('#test').click(function()
	    {      
	        var a = $('#domain_name').val();
	        $('#result').show();
	        $('#name_domain').text(a);
	        $.each( [<?=$res?>], function(i, l)
	        {
	            $('#'+l).html("<tr><td >"+a+"."+l+"</td><td><img src='/images/al.gif'>проверяеться</td></tr>");
	            $.post('/ajax/test_domain.php',{domain:a,domain_zone:l},function(data)
            {
	                if (data.result=='ok')
	                {
	                    $('#'+data.domainzone).html("<tr><td >"+a+"."+l+"</td><td style='border:1px dotted;'><a id="+a+" class=\"order\"style='cursor:pointer;'>Заказать</a></td></tr>");
	                }
	                if (data.result=='no')
	                {
	                    $('#'+data.domainzone).html("<tr><td >"+a+"."+l+"</td><td style='border:1px dotted;'><a class=''>Кто занял?</a></td></tr>");                   
	                }
	            },"json"); 
	        });
	    });
	});
После выполнения скрипта выводиться табличка
-----------------------
|domain.ru | Заказать|
|domain.ra | Заказать|
-----------------------

А теперь и сам вопрос.

При нажатии на слово "Заказать" НЕ происходит ни каких действий. Отладчик FireBug не выводит ни каких ошибок.
Не понимаю что я сделал не так, прошу направить меня на правильный путь.

Большое спасибо
 
Обычно в таких случаях на помощь приходит отладка.
Задача разбивается на более мелкие задачи и все проверяется в отдельности.
Для начала нужно убедиться, что скрипт запускается по щелчку мыши.

А сам jquery подключается к файлу ?
 
Как раз последней мелкой задачей и является, вызвать работу функции
PHP:
$('.order').click(function()
        {
            alert('OK');
        });

при нажатии на кнопку "Заказать".

Опять же повторяюсь, что ни каких действий не происходит.
И в отладчике пусто
 
PHP:
<script type="text/javascript" src="/js/ajax.js"></script>
<?
include($_SERVER['DOCUMENT_ROOT'].'/config_ajax.php');

$domain = $mysql->sql_get_list('SELECT * FROM %table LIMIT 0,2',array('table'=>'domain'));
//print_r($domain);
foreach ($domain as $key=>$val)
{
	$d[] = '"'.$val['domain_name'].'"';
}
$res = implode(',',$d);
?>
<script type="text/javascript">

$(document).ready(function() 
{
	$('.order').click(function()
	{
		alert('OK');
	});
	
	$('#test').click(function()
	{		
		var a = $('#domain_name').val();
		$('#result').show();
		$('#name_domain').text(a);
		$.each( [<?=$res?>], function(i, l)
		{
			$('#'+l).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><img src='/images/al.gif'>проверяеться</td></tr>");
			$.post('/ajax/test_domain.php',{domain:a,domain_zone:l},function(data)
			{
				if (data.result=='ok')
				{
					$('#'+data.domainzone).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><a id="+a+" class=\"order\">Заказать</a></td></tr>");
					/*$('#end_result_'+data.domainzone).html("<tr><td style='border:1px dotted;'>"+data.res+"</td></tr>");*/
				}
				if (data.result=='no')
				{
					$('#'+data.domainzone).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><a class=''>Кто занял?</a></td></tr>");					
					/*$('#end_result_'+data.domainzone).html("<tr><td style='border:1px dotted;'>"+data.res+"</td></tr>");*/
				}
			},"json");	
 		});
	});
});

</script>

<table border="0" cellpadding="5" cellspacing="5">
<tr>
	<td style="border:1px dotted;"><input type="text" name="search_domain" id="domain_name"></td>
	<td style="border:1px dotted;"><a id="test" style="cursor:pointer">Проверить</a></td>
</tr>
</table>
<div id="result" style="display:none">
<table border="0" cellpadding="5" cellspacing="5" width="100%">

<?
foreach ($domain as $key=>$val)
{
	
	?>
	<div id="<?=trim($val['domain_name'])?>"></div>
	<div id="end_result_<?=trim($val['domain_name'])?>"></div>
	<?
}
?>

</table>
</div>
 
Я неправильно выразился, хотел увидеть HTML, но ладно :-)
Похоже, что сама библиотека jquery не подключается, я прав ?
 
она подключается и поиск доменов тоже происходит, а вот при нажатии на кнопку заказать не срабатывает функция jquery
 
Мне нужен HTML код страницы, например в Опере это можно посмотреть, нажав правую кнопку мыши, затем выбрать "исходный код".
 
1. Со страницы
PHP:
<script type="text/javascript" src="/js/ajax.js"></script>
<script type="text/javascript">

$(document).ready(function() 
{
	$('.order').click(function()
	{
		alert('OK');
	});
	
	$('#test').click(function()
	{		
		var a = $('#domain_name').val();
		$('#result').show();
		$('#name_domain').text(a);
		$.each( ["aero","asia"], function(i, l)
		{
			$('#'+l).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><img src='/images/al.gif'>проверяеться</td></tr>");
			$.post('/ajax/test_domain.php',{domain:a,domain_zone:l},function(data)
			{
				if (data.result=='ok')
				{
					$('#'+data.domainzone).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><a id="+a+" class=\"order\" style='cursor:pointer;'>Заказать</a></td></tr>");
					/*$('#end_result_'+data.domainzone).html("<tr><td style='border:1px dotted;'>"+data.res+"</td></tr>");*/
				}
				if (data.result=='no')
				{
					$('#'+data.domainzone).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><a class=''>Кто занял?</a></td></tr>");					
					/*$('#end_result_'+data.domainzone).html("<tr><td style='border:1px dotted;'>"+data.res+"</td></tr>");*/
				}
			},"json");	
 		});
	});
});

</script>

<table border="0" cellpadding="5" cellspacing="5">
<tr>
	<td style="border:1px dotted;"><input type="text" name="search_domain" id="domain_name"></td>
	<td style="border:1px dotted;"><a id="test" style="cursor:pointer">Проверить</a></td>
</tr>
</table>
<div id="result" style="display:none">
<table border="0" cellpadding="5" cellspacing="5" width="100%">

	<div id="aero"></div>
	<div id="end_result_aero"></div>
		<div id="asia"></div>
	<div id="end_result_asia"></div>
	
</table>
</div>

2. Из отладчика
PHP:
<html><head><script src="/js/ajax.js" type="text/javascript"></script>
<script type="text/javascript">

$(document).ready(function() 
{
	$('.order').click(function()
	{
		alert('OK');
	});
	
	$('#test').click(function()
	{		
		var a = $('#domain_name').val();
		$('#result').show();
		$('#name_domain').text(a);
		$.each( ["aero","asia"], function(i, l)
		{
			$('#'+l).html("&lt;tr&gt;&lt;td style='border:1px dotted;' width='200'&gt;"+a+"."+l+"&lt;/td&gt;&lt;td style='border:1px dotted;'&gt;&lt;img src='/images/al.gif'&gt;проверяеться&lt;/td&gt;&lt;/tr&gt;");
			$.post('/ajax/test_domain.php',{domain:a,domain_zone:l},function(data)
			{
				if (data.result=='ok')
				{
					$('#'+data.domainzone).html("&lt;tr&gt;&lt;td style='border:1px dotted;' width='200'&gt;"+a+"."+l+"&lt;/td&gt;&lt;td style='border:1px dotted;'&gt;&lt;a id="+a+" class=\"order\" style='cursor:pointer;'&gt;Заказать&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;");
					/*$('#end_result_'+data.domainzone).html("&lt;tr&gt;&lt;td style='border:1px dotted;'&gt;"+data.res+"&lt;/td&gt;&lt;/tr&gt;");*/
				}
				if (data.result=='no')
				{
					$('#'+data.domainzone).html("&lt;tr&gt;&lt;td style='border:1px dotted;' width='200'&gt;"+a+"."+l+"&lt;/td&gt;&lt;td style='border:1px dotted;'&gt;&lt;a class=''&gt;Кто занял?&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;");					
					/*$('#end_result_'+data.domainzone).html("&lt;tr&gt;&lt;td style='border:1px dotted;'&gt;"+data.res+"&lt;/td&gt;&lt;/tr&gt;");*/
				}
			},"json");	
 		});
	});
});

</script>

</head><body><table cellspacing="5" cellpadding="5" border="0">
<tbody><tr>
	<td style="border: 1px dotted ;"><input type="text" id="domain_name" name="search_domain"></td>
	<td style="border: 1px dotted ;"><a style="cursor: pointer;" id="test">Проверить</a></td>
</tr>
</tbody></table>
<div style="" id="result">
<div id="aero"><tr><td width="200" style="border: 1px dotted ;">dfgdfgdfg.aero</td><td style="border: 1px dotted ;"><a style="cursor: pointer;" class="order" id="dfgdfgdfg">Заказать</a></td></tr></div>
	<div id="end_result_aero"></div>
		<div id="asia"><tr><td width="200" style="border: 1px dotted ;">dfgdfgdfg.asia</td><td style="border: 1px dotted ;"><a style="cursor: pointer;" class="order" id="dfgdfgdfg">Заказать</a></td></tr></div>
	<div id="end_result_asia"></div>
	
<table width="100%" cellspacing="5" cellpadding="5" border="0">

	</table>
</div></body></html>
 
Как раз последней мелкой задачей и является, вызвать работу функции

$('.order').click(function()
{
alert('OK');
});
при нажатии на кнопку "Заказать".
На вновь созданный объект ранее установленный обработчик не распространяется.
Нужно или вручную пробиндить обработчик события у данного объекта или воспользоваться методом .live() у jQuery
 
Отладчик FireBug не выводит никаких ошибок.
Не верю.

Ошибка: missing ) after argument list
Источник: http://dev.azovhome.com.ua/test.html
Строка 24, символ 194
Исходный код:
$('#'+data.domainzone).html("<tr><td style='border:1px dotted;' width='200'>"+a+"."+l+"</td><td style='border:1px dotted;'><a id="+a+" class=\"order\" style='cursor<img src="images/smilies/tongue.gif" border="0" alt="">ointer;'>Заказат
 
Сверху