我试图弄清楚如何仅在单击“是”单选按钮时使用Jquery来警告“文本”。
我的代码存在问题,就是单击“否”按钮时也会显示警报。
如您所见,我还添加了一个带有注释的复选框,以使其清晰可见。
如果可以,请帮助我,如何解决此问题?
$(document).ready(function(){
$('input[type="radio"]').click(function(){
if($('input[name=one][value =yes]:checked')) {
alert("Text");
}
if($('input[name=two][value =no]:checked')) {
// alert("Text");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Show text?</p>
<input type="radio" name="one" value="yes">Yes
<input type="radio" name="one" value="no">No
<p>Do somthing Else</p>
<input type="checkbox" name="two" value="no">No
答案 0 :(得分:3)
您需要使用this
关键字从引发该事件的广播中检索value
。然后,您可以简单地在if
条件下读取其值,如下所示:
$(document).ready(function() {
$('input[type="radio"]').change(function() {
if ($(this).val() == 'yes') {
console.log("Text");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Show text?</p>
<input type="radio" name="one" value="yes">Yes
<input type="radio" name="one" value="no">No
<p>Do somthing Else</p>
<input type="checkbox" name="two" value="no">No
请注意,出于可访问性的原因,在change
上使用了click
事件,并在调试时使用了console.log()
而不是alert()
。
答案 1 :(得分:0)
尝试一下。
$(document).ready(function(){
$('input[type="radio"]').click(function(){
if($('input:radio[name="one"]:checked').val() =="yes") {
alert("Text");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>Show text?</p>
<input type="radio" name="one" value="yes">Yes
<input type="radio" name="one" value="no">No
<p>Do somthing Else</p>
<input type="checkbox" name="two" value="no">No