2016-10-22 7 views
0

У меня есть вкладка с использованием типа ввода radio и вы хотите использовать addEventListener, чтобы открыть конкретную вкладку при нажатии.Открытие типа ввода радио с использованием addEventListener

document.getElementById("job_location").addEventListener("click", function() { 
 
    document.getElementById("tab1").checked = true; 
 
});
<a id="job_location" href="#map"><b><span class = "glyphicon glyphicon-map-marker"/>Location</b></a> 
 

 
<input id="tab1" type="radio" name="tabs" /> 
 
<label for="tab1">My Location</label> 
 

 
<task-section id="content1"> 
 
    <iframe style="width: 600; height:450;" src="https://www.google.com/> 
 
    </iframe> 
 
</task-section> \t

Идея заключается в том, что, когда кто-то нажимает на ссылку с идентификатором job_location, вкладка с идентификатором tab1 будет нажата, выявляя данные в content1.

Может кто-нибудь сказать мне, что не так с моим JavaScript?

+0

в ваших кодах контейнер с идентификатором = «Content1» автоматически revealed..you хотят скрыть этот контейнер и когда либо окно радио щелкнуло или ссылка щелкнул iframe? – repzero

+0

Фактически контент1 не раскрывается автоматически. когда страница загружается, на самом деле это tab2 (content2). Я хочу, чтобы content1 отображался после того, как пользователь нажимает на . – Dave

+0

можете ли вы задать свой вопрос html для «content2» и любых других связанных кодов? – repzero

ответ

0

Вы что-то ... двойные кавычки отсутствуют после www.google.com

src="https://www.google.com/ вы опустили закрытие "

И, чтобы сделать ваш код работать, попробуйте этот

HTML

<a id="job_location" href = "#map"><b><span class = "glyphicon glyphicon-map-marker"/>Location</b></a> 

<div id="tabs"> 
<input id="tab1" type="radio" name="tabs"/> 
    <label for="tab1">My Location</label> 

</div> 

<task-section id="content1"> 
    <iframe style= "width: 600; height:450;" src="https://www.google.com/"> 
</iframe> 
</task-section> 

JavaScript

document.getElementById("job_location").addEventListener("click", function(){ 
    document.getElementById("tabs").style.display = "block"; 
    document.getElementById("content1").style.display = "block"; 
    document.getElementById("tab1").checked = true; 
    }); 

CSS

#tabs, #content1{ 
    display: none; 
} 

Check it out on JSfiddle

+0

Привет, хорошо поймать. Я добавил это, но он все еще не работает. – Dave

+0

Я обновил ответ. – Abk

+0

Привет, спасибо за помощь. это очень странно. Я воспроизвел свой код в JSFiddle: https://jsfiddle.net/yundlu/4h1rowdt/2/, и он работает отлично. Я работаю в среде ServiceNow, и тот же точный код не будет работать ... не уверен, что это специфично для ServiceNow или нет ... – Dave

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

  • Нет связанных вопросов^_^