JQuery: триггер <asp: LinkButton> нажмите
Мне нужно вызвать щелчок <asp:LinkButton>
.
Пример1
Работает следующее:
<asp:Button ID="myBtn" runat="server" />
$("#myBtn").trigger("click");
Пример2
Теперь то же самое с LinkButton работает не:
<asp:LinkButton ID="myBtn" runat="server" />
$("#myBtn").trigger("click");
Мне нужно вызвать событие click для asp: LinkButton.
Ответы
Ответ 1
Добавьте свойство CssClass
в свой LinkButton
и используйте его как ваш селектор.
Другие ответы предложили использовать ASP.NET ClientID
, чтобы получить визуализированный идентификатор LinkButton
, что хорошо, но это означает, что вы должны иметь встроенную строку script на странице, а script будет работать только для этой кнопки.
Использование класса означает, что вы можете иметь несколько элементов, запускающих одно и то же событие, а это означает, что вам не нужно использовать встроенный серверный код, чтобы заставить его работать.
<asp:LinkButton ID="myBtn" runat="server" CssClass="myLink" />
$(".myLink").trigger("click");
Ответ 2
Вместо
$("#myBtn").trigger("click");
Попробуйте это
eval($("#myBtn").attr('href'));
См. этот ответ для получения дополнительной информации: fooobar.com/questions/361427/...
Ответ 3
Используйте эту строку
$("#<%= myBtn.ClientID %>").trigger("click");
Ответ 4
Вы передаете одинаковые ID
для обоих из них, которые не работают. Попробуйте изменить его.
Если вы используете основную страницу, используйте, как показано ниже:
<script type="text/javascript">
$(document).ready(function () {
$("#<%=myBtn.ClientID%>").click(function () {
$('#<%=hyperlinkID.ClientID%>').trigger('click');
});
</script>
Если вы не используете главную страницу, используйте следующий код:
<script type="text/javascript">
$(document).ready(function () {
$("#myBtn").click(function () {
$('#hyperlinkID').trigger('click');
});
</script>
Ответ 5
Никогда не используйте eval() из-за утечек в системе безопасности и уязвимости. Лучший способ сделать это с использованием собственного события нажатия js, как это.
$('[selector]')[0].click();
в твоем случае
$("#myLink")[0].click();