2015-08-12 2 views
1

Я хочу, чтобы флажки скрывались и показывали div-класс.Скрытие div-класса с javascript

До сих пор у меня есть код, скрывающий div, но не показывающий его. Что я знаю, я сделал что-то неправильно! У меня есть несколько флажков

Heres мой код

<script type="text/javascript"> 
    function show(target) { 
    document.getElementById(target).style.display = 'block'; 
} 

function hide(target) { 
    document.getElementById(target).style.display = 'none'; 
} 
    </script> 
    <tr> 
    <th><input onclick="hide('tester')" type="checkbox" checked> 

Я знаю, что его что-то делать с OnClick шкурой. Было бы лучше иметь его в качестве переключателя?

Sam

+0

Я не вижу, где вы вызываете функцию 'show()'. – neuhaus

ответ

4

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

function showhide(el, target) { 
 
    document.getElementById(target).style.display = el.checked ? 'block' : 'none'; 
 
}
<input onclick="showhide(this, 'tester')" type="checkbox" checked /> 
 
<div id="tester">tester</div>


Использование JQuery

$('#mycheckbox').change(function() { 
 
    $('#tester').toggle(this.checked) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input id="mycheckbox" type="checkbox" checked /> 
 
<div id="tester">tester</div>

+0

@akash ваш код находится в готовом обработчике dom ... поэтому он недоступен в глобальном масштабе - http://jsfiddle.net/arunpjohny/qvmjznam/2/ - на левой панели выберите 'in head/body' –

+0

Спасибо, кстати + rep и примем за 8 минут :) – ddsbro

+0

@ArunPJohny большое спасибо – akash

1

Попробуйте

function toggle(target) { 
 
    
 
     if(document.getElementById(target).style.display=="block") 
 
     document.getElementById(target).style.display = 'none';   
 
     else 
 
     document.getElementById(target).style.display = 'block'; 
 
}
<input onclick="toggle('toggle')" type="checkbox" checked> 
 
<div id="toggle">Show and hide</div>

1

Попробуйте это:

var thumbsUp = element(by.css('span.glyphicon-thumbs-up')); 
var thumbsDown = element(by.css('span.glyphicon-thumbs-down')); 

it('should check ng-show/ng-hide', function() { 
    expect(thumbsUp.isDisplayed()).toBeFalsy(); 
    expect(thumbsDown.isDisplayed()).toBeTruthy(); 

    element(by.model('checked')).click(); 

    expect(thumbsUp.isDisplayed()).toBeTruthy(); 
    expect(thumbsDown.isDisplayed()).toBeFalsy(); 
}); 

Demo

Смежные вопросы