Как активировать кнопку с помощью jQuery?

0

Я пытаюсь показать Next-Button только пользователь щелкнул checkbox "Я согласен с...". Я попытался ()toggle и show/hide но не смог заставить его работать. Любая идея, как это исправить?

JQuery

<script>
$(document).ready(function(){
  $("#i_agree_check").click(function(){
    $("next_2_btn_info").hide();
  });
  $("#i_agree_check").click(function(){
    $("next_2_btn_info").show();
  });
});
</script>

HTML

    <div class="checkbox_agree show"><input type="checkbox" id="i_agree_check"</><?php echo $lang ['i_agree']; ?></div>

    <div class="edit_btn"> <!-- Not active placeholder -->
        <a href="#" title="<?php echo $lang ['complete_step']; ?>"><?php echo $lang ['next']; ?></a>
    </div>

    <div class="next_2_btn_info" id="next_2_btn_info">
        <a href="order_banner_2.php"><?php echo $lang ['next']; ?></a>
    </div>  
  • 6
    Отсутствует # перед вашими селекторами.
Теги:

5 ответов

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

Попробуйте это (обновлено):

$("#next_2_btn_info").hide();
$("#i_agree_check").click(function(){
    $("#next_2_btn_info").toggle();
  });
  • 0
    Большое спасибо за ваш ответ, проблема, с которой я столкнулся сейчас, заключается в том, что кнопка отображается с самого начала и скрывается при нажатии. Что мне нужно, это как раз наоборот. Эта «следующая» кнопка должна отображаться только тогда, когда пользователь проверяет «флажок». Как я могу это сделать?
  • 0
    Я обновил это. Просто спрячьте это в начале.
Показать ещё 1 комментарий
1
$("next_2_btn_info").hide(); //Change

$("#next_2_btn_info").hide();
0

Вы регистрируете два противоречивых события click с помощью флажка, и вы не используете идентификатор кнопки. Попробуй это:

$(document).ready(function(){
  $("#i_agree_check").click(function(){
         $("#next_2_btn_info").toggle();     
  });
});

Обратите внимание, как это #next_2_btn_info вместо next_2_btn_info. Кроме того, .toggle() показывает/скрывает на основе текущего состояния объекта.

  • 0
    Большое спасибо за ваш ответ, проблема, с которой я столкнулся сейчас, заключается в том, что кнопка отображается с самого начала и скрывается при нажатии. Что мне нужно, это как раз наоборот. Эта «следующая» кнопка должна отображаться только тогда, когда пользователь проверяет «флажок». Как я могу это сделать?
0

Вы дважды создаете обработчик кликов в строке $ ("# i_agree_check"). Попробуйте настроить один обработчик кликов и проверить значение флажка, чтобы определить, был ли он проверен или нет.

$('#i_agree_check').click(function(){
 if($("#i_agree_check").is(':checked')) { 
  $('next_2_btn_info').show();
 } else {
  $('next_2_btn_info').hide();
 }
}
0

Можете ли вы попробовать это, вам нужно добавить # или . перед элементом селектора, например $("#next_2_btn_info")

    $(function(){
      $("#i_agree_check").click(function(){
             $("#next_2_btn_info").toggle();     
      });
    });
  • 0
    Большое спасибо за ваш ответ, проблема, с которой я столкнулся сейчас, заключается в том, что кнопка отображается с самого начала и скрывается при нажатии. Что мне нужно, это как раз наоборот. Эта «следующая» кнопка должна отображаться только тогда, когда пользователь проверяет «флажок». Как я могу это сделать?
  • 0
    Скрыть это с самого начала. Проверьте эту скрипку: jsfiddle.net/4UeYz

Ещё вопросы

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