Вызывать функцию Click другим щелчком в jquery? Является ли это возможным

0

JS:

$('#button6').click(function () {

    $('#que1').hide();
    $('#que2').hide();
    $('#que3').hide();
    $('#que4').show();
    $('#que5').hide();
    $('#que6').hide();
    $('#que7').hide();
    $('#que8').hide();

    var line1 = $('.question3:checked').val();
    if (typeof line1 === "undefined") {
        var msg = new Windows.UI.Popups.MessageDialog("You Choosed", "nothing");
        msg.showAsync();
        $('#button6').click();
    }

});

Возможно? Я хочу вернуть ту же функцию, если не проверяет любой переключатель.

Но это не работает.

  • 1
    почему вы используете 7 методов скрытия? tou может делать $ ('все селекторы, которые вы хотите разделить запятыми'). hide () и вы сохраняете 6 строк кода
Теги:

3 ответа

1
Лучший ответ

Опасно - если условие никогда не выполняется, то вы будете застревать в бесконечном клик-петле.

В противном случае используйте: $(selector).trigger("click").


Кроме того, эта строка:

var line1 = $('.question3:checked').val();
if (typeof line1 === "undefined") { ... }

... может быть упрощено:

if($('.question3').is('checked')) { .... }
  • 0
    Не работает Если я использую этот код, программа была прекращена
  • 0
    Это потому, что вы будете создавать бесконечный цикл - ваша условная логика должна быть оценена .
Показать ещё 9 комментариев
0

Если ваше условие if (typeof line1 === "undefined") оценивается как true, то вы находитесь в бесконечном цикле. Потому что вы снова нажимаете ту же кнопку.

$('#button6').click(function () {
some condition{
    $( "#button6" ).trigger( "click" ); // Again triggering the same button click
  }
}

Если флажок не установлен, вы можете показать предупреждение, но не называть тот же самый щелчок на кнопке. Что вы можете сделать, так это вы можете попросить пользователя снова проверить.

  • 0
    хм хорошо я сделаю это
0

Ваш подход пытается рекурсивно... и это ужасная идея. Не скрывайте que3 до тех пор, пока вы не подтвердите ответ. Затем покажите que4. Рассмотрите также комментарии; что вы можете украсить вопрос (например, добавить красную рамку).

var line1 = $('.question3:checked').val();
if (typeof line1 === "undefined") {
  // $("que3").addClass('error');
  return;
} else {
  // $("que3").removeClass('error');
  $('#que3').hide();
  $('#que4').show();
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню