Программно выполнить функцию щелчка после добавления дочерних элементов в div в цикле

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть функция jquery для поиска, определенная как

 jQuery('#searchBtn').click(function()
   {
      var text = $('#searchbox').val();
      var searchUrl = "getrings.php?searchText=".concat(text);
      if(text.length > 2)
      {          
         jQuery('#sliderloading').removeClass('hide');
         jQuery.ajax({
                    type: "POST",
                    url:  searchUrl,
                    task: "save",
                    data: { 
                        ajax: "true",
                    },
                    dataType : 'json'
                }).done(function( msg ) 
                {

                    if( msg.status == "1") 
                    {
                        if(msg.data.length == 0)
                        {
                          alert('No rings found');
                        }                   
                        else
                        {                               
                          jQuery('.albums-div ul.slides').empty();
                          jQuery.each( msg.data, function( i, val ) 
                          {
                                jQuery('.albums-div ul.slides').append('<li> <input class="teringimage"  type="image" src="' val['ringThumbNailImagePath'] '" name="checked" value="'   val['id'] '" data-my-info="' val['ringSetName']  '"  width="143" right="143"></li>');
                          }); 
                    }
               }
               else 
               {
                        alert("Error : " msg.error);
                   }
                    jQuery('#sliderloading').addClass('hide');
             });
      }
      else 
      {
        alert("Search text is either empty or less than 3 characters");
      }
   });
  

У меня также есть одна функция jquery как

   jQuery('.albums-div ul.slides').on('click','.teringimage',function()
    {
      }
  

Первая функция, в цикле добавляется несколько изображений, а вторая функция запускается при нажатии на изображение.

Однако я хочу внести небольшую модификацию, после добавления изображений в первую функцию

 jQuery.each( msg.data, function( i, val ) 
                          {
                                jQuery('.albums-div ul.slides').append('<li> <input class="teringimage"  type="image" src="' val['ringThumbNailImagePath'] '" name="checked" value="'   val['id'] '" data-my-info="' val['ringSetName']  '"  width="143" right="143"></li>');
                          }); 

//
  

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

Как этого можно достичь?

Я пытался сделать это

 jQuery('.albums-div ul.slides').empty();
                          jQuery.each( msg.data, function( i, val ) 
                          {
                                jQuery('.albums-div ul.slides').append('<li> <input class="teringimage"  type="image" src="' val['ringThumbNailImagePath'] '" name="checked" value="'   val['id'] '" data-my-info="' val['ringSetName']  '"  width="143" right="143"></li>');
                          }); 


         $('.albums-div ul.slides:first-child').trigger('click');
    and
    $('.albums-div ul.slides li:first-child').trigger('click');
  

ничего не работает

Я хочу, чтобы этот вызов работал

 jQuery('.albums-div ul.slides').on('click','.teringimage',function()
  

Комментарии:

1. Использовать $(selector).trigger(eventType)

2. для первого элемента добавлено также вызвать вторую функцию. я в замешательстве ..!

3. @RajaprabhuAravindasamy у меня есть основной div как .albums-div ul.slides, в который я добавляю элементы <li> <input> в цикле. Я хочу запустить функцию щелчка для первого <li> <ввода>

Ответ №1:

Попробуйте использовать .trigger(событие),

 $('.albums-div ul.slides li:first-child').trigger('click');
  

Использовать,

 $('.albums-div ul.slides li:first-child .teringimage[type=image]').trigger('click');
  

Комментарии:

1. Это довольно сложно, я не уверен, как я могу предоставить вам демо, я отредактировал свой вопрос, если вы сможете прочитать его снова, вы все поймете

2. thevowapp.com/webapp/test.php Проверьте эту ссылку и попробуйте найти что-то вроде 3434

Ответ №2:

Это просто

$(selector).trigger('click')

Комментарии:

1. но для выполнения с первым дочерним элементом.