#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. но для выполнения с первым дочерним элементом.