Я использую приведенный ниже код, чтобы скрыть и показать определенные элементы формы, но это не работает любезно, дайте мне знать, чего мне не хватает в моем коде?
HTML:
<input id="id_code_col" type="checkbox" name="code_col"></input>
СЦЕНАРИЙ:
$(document).ready(function(){
var selectBox = jQuery('#id_code_col');
selectBox.change(function () {
if ($(this).val() == '1') {
$('#id_FullColumn').show();
$('#id_FirstColumn').hide();
$('#id_SecondColumn').hide();
}
else {
$('#id_FullColumn').hide();
$('#id_FirstColumn').show();
$('#id_SecondColumn').show();
}
});
});
NB: я не могу добавить или удалить что-либо из html. Мне нужно сделать это со сценарием. Пожалуйста, помогите!
сделайте вот так:
if(this.checked)
{
// checked
}
else
{
// unchecked
}
для вашего дела:
$(document).ready(function(){
var selectBox = jQuery('#id_code_col');
selectBox.change(function () {
if (this.checked) {
$('#id_FullColumn').show();
$('#id_FirstColumn').hide();
$('#id_SecondColumn').hide();
}
else {
$('#id_FullColumn').hide();
$('#id_FirstColumn').show();
$('#id_SecondColumn').show();
}
});
});
selectBox.change(function () {
if ($(this).is(':checked')) {
$('#id_FullColumn').show();
$('#id_FirstColumn').hide();
$('#id_SecondColumn').hide();
}
else {
$('#id_FullColumn').hide();
$('#id_FirstColumn').show();
$('#id_SecondColumn').show();
}
});
Изменить это
if ($(this).val() == '1') {
к этому
if (this.checked) {
Поскольку вам не нужно проверять значение на 1, так как ваш флажок не имеет значения, равного 1.
Таким образом, вы должны проверить состояние этого флажка с checked
методом.
$(function(){
$('#id_code_col').change(function(){
if($(this.checked)){
alert('checked');
}else{
alert('unchecked');
}
});
});
$(document).ready(function () {
var selectBox = jQuery('#id_code_col');
selectBox.change(function () {
if (this.checked) {
alert("checked");
}
else {
alert("unchecked");
}
});
});