Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   почему функция вызывается 2 раза? (https://javascript.ru/forum/dom-window/53677-pochemu-funkciya-vyzyvaetsya-2-raza.html)

imedia 13.02.2015 11:23

почему функция вызывается 2 раза?
 
При нажатии на #add_pod_btn создается информер, а на информере кнопка удалить этот информер, так же этот информер может быть уже создан при загрузке странице, так вот если после создания его я сразу хочу удалить его то функция ajax(del_pod_door) вызывается 2 раза, почему так ?
destroy()
function destroy(){
$('.close_type').click(function(){
var val_sel=$(this).parent('.bar').find('input').val();
var id_door=<?=$door['id'];?>;
$.ajax({
          type: 'POST',
		  dataType:'html',
          url: '/functions_ajax/del_pod_door/',
		  data:{id:val_sel,id_door:id_door},
          success: function(data) {
		  
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });
})
}

$('#add_pod_btn').click(function(){
var val_sel=$(this).parent('#add_pod').find('input[name=id_door]').val();
var id_door=<?=$door['id'];?>;
$.ajax({
          type: 'POST',
		  dataType:'json',
          url: '/functions_ajax/get_name_of_door/',
		  data:{id:val_sel,id_door:id_door},
          success: function(data) {
		  var sel_text=data[0].name;
		$('#bar_block').append(
			'<div class="bar"><h3 class="lab_1">'+sel_text+'</h3><h3 class="close_type">    X&nbsp;</h3> <input type="hidden" value="'+val_sel+'"></div>'
			);
			destroy()
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });


})

ksa 13.02.2015 11:30

imedia, ты так и не научился делать тестовые примеры... :(

imedia 13.02.2015 14:15

<input type="text" name="id_door" style="width:200px;height:30px" >
<input id="add_pod_btn" style="margin-top:-10px;" type="button" value="Добавить">
<div id="bar_block">
<div class="bar">
<h3 class="lab_1">Alesandro</h3>
<h3 class="close_type">    X&nbsp;</h3> 
<input type="hidden" value="1">
</div>
</div>


<script>
edit()
function edit(){
$('.close_type').click(function(){
var val_sel=$(this).parent('.bar').find('input').val();
$.ajax({
          type: 'POST',
		  dataType:'json',
          url: 'http://exportgrain.net/functions_ajax/del_pod_door/',
		  data:{id:val_sel},
          success: function(data) {
		  
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });
})
}
$('#add_pod_btn').click(function(){

var val_sel=$(this).parent('#add_pod').find('input[name=id_door]').val();
var id_door=1;
$.ajax({
          type: 'POST',
		  dataType:'json',
          url: 'http://exportgrain.net/functions_ajax/get_name_of_door/',
		  data:{id:val_sel,id_door:id_door},
          success: function(data) {
		  var sel_text=data[0].name;
			edit()
			$('#bar_block').append(
			'<div class="bar"><h3 class="lab_1">'+sel_text+'</h3><h3 class="close_type">    X&nbsp;</h3> <input type="hidden" value="'+val_sel+'"></div>'
			);
          },
          error:  function(xhr, str){
                alert('Возникла ошибка: ' + xhr.responseCode);
            }
        });


})
</script>


Часовой пояс GMT +3, время: 17:55.