2016-04-10 39 views
2

我愿意改变我的标题显示的文本,只有当一个单选按钮被选中。我使用input type="radio",所以我可以使用CSS来设计它。这是我的代码如下所示:如何检查按钮时更改标签的文字?

<h1>What is your favourite class?</h1> 
 

 
<div> 
 
    <input type="radio" name="radio" id="radio1" class="radio" /> 
 
    <label for="radio1" style="color:black;font-family:impact;text-align:center;" id='1'>Maths</label> 
 
</div>

回答

1

你可以试试这个代码:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('input[type=radio]').change(function() { 
      $('h1').text('Enter you new text'); 
     }); 
    }); 

</script> 

.change检测单选按钮的状态变化。

DEMO

+0

它在演示上完美地工作,但是当我复制JS代码时,它不会执行任何操作。 – VladJ

+0

@VladJ你在代码中包含了jquery.min.js文件。 –

+0

我在我的代码中使用脚本标记。我是否还需要包含该文件? – VladJ

1

添加ID到你的标签和使用JavaScript来改变这个标签的innerHTML:

getElementById("label").innerHTML = "new Text here" 
+0

标签的ID是ID = '1'; – VladJ

+0

sry没有看到这个 –

1

一个可能的解决方案是:

// on document ready 
 
$(function() { 
 
    // when the radio changes 
 
    $(':radio.radio').on('change', function(e) { 
 
    // set text of h1 element 
 
    $('h1').text('mmmmm'); 
 
    }); 
 
});
<script src="https://code.jquery.com/jquery-1.12.1.min.js"></script> 
 

 

 
<h1>What is your favourite class?</h1> 
 

 
<div> 
 
    <input type="radio" name="radio" id="radio1" class="radio"/> 
 
    <label for="radio1" style="color:black;font-family:impact;text-align:center;" id='1'>Maths</label> 
 
</div>

+0

谢谢,但它似乎没有工作。 – VladJ

0

您需要使用.change来检测何时有人单击单选按钮。

$('input[type=radio][name=radio]').change(function() { 
    $(".header").text("New text"); 
}); 
+1

您能否将相关代码或内容摘要替换为链接?每篇文章都需要自己独立,而不必离开网站或需要转到其他帖子来了解答案。请参阅[help/answering](http://stackoverflow.com/help/answering) – Tushar

0

使用onchange属性的复选框,并调用更改功能,这将改变标题的文本。

您只需要JavaScript,不需要jQuery来解决此问题。

如果您不想使用HTML onchange属性,则可以在JavaScript中使用eventListener

function change() { 
 
    document.getElementsByTagName("h1")[0].textContent="Changed"; 
 
}
<h1>What is your favourite class?</h1> 
 

 
<div> 
 
    <input type="radio" name="radio" id="radio1" class="radio" onchange="change()"/> 
 
    <label for="radio1" style="color:black;font-family:impact;text-align:center;" id='1'>Maths</label> 
 
</div>

0

首先检查是否单选按钮被选择。如果是,请更改标签元素的innerHTML属性。

if (document.getElementById('radio1').checked) document.getElementById('1').innerHTML = "Text to insert"; 
0

我想你只需要一点点js。

document.getElementById(“radio”)。innerHTML =“将文本更改为此”;

OR

也许你可以试试if语句,

VAR收音机;

if //单选按钮被点击(.onclick = true)//对不起,我不知道这个动作/语句的正确代码...不知道这是否可能。只是工作通一个思维过程{

document.getElementById("radio").innerHTML = "Change text to this"; 

}

<h1>What is your favourite class?</h1> 
 

 
<div> 
 
    <input type="radio" name="radio" id="radio1" class="radio" /> 
 
    <label for="radio1" style="color:black;font-family:impact;text-align:center;" id='1'>Maths</label> 
 
</div>

相关问题