Я пытаюсь показать 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>
Попробуйте это (обновлено):
$("#next_2_btn_info").hide();
$("#i_agree_check").click(function(){
$("#next_2_btn_info").toggle();
});
$("next_2_btn_info").hide(); //Change
$("#next_2_btn_info").hide();
Вы регистрируете два противоречивых события click
с помощью флажка, и вы не используете идентификатор кнопки. Попробуй это:
$(document).ready(function(){
$("#i_agree_check").click(function(){
$("#next_2_btn_info").toggle();
});
});
Обратите внимание, как это #next_2_btn_info
вместо next_2_btn_info
. Кроме того, .toggle()
показывает/скрывает на основе текущего состояния объекта.
Вы дважды создаете обработчик кликов в строке $ ("# 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();
}
}
Можете ли вы попробовать это, вам нужно добавить #
или .
перед элементом селектора, например $("#next_2_btn_info")
$(function(){
$("#i_agree_check").click(function(){
$("#next_2_btn_info").toggle();
});
});
#
перед вашими селекторами.