再一次,再一次......我的Javascript / jQuery知识问题。 这次,我想在选择无线电值时出现一行。我迷失了我需要出现的那一行。
这是一行:
<tr class="others" id="others" style="display:none;">
<th colspan="2"><?php _e('Others', 'shop'); ?></th>
<td><?php echo fee; ?> €</td>
</tr>
这就是jquery:
$(document).ready(function() {
$('input').click(function(){
var isChecked = $('#payment_method_paypal').prop('checked');
// make the row appear appear if "payment_method_paypal" is checked
});
我尝试使用警报并且它正常工作,但是在行中,我尝试了我在Stack Overflow和Google上找到的每一个解决方案,但无法使其正常工作。
答案 0 :(得分:3)
您可以将布尔值传递给jquerys toggle方法
.toggle(showOrHide)
一个布尔值,指示是否显示或隐藏元素。
这应该有效
var isChecked = $('#payment_method_paypal').prop('checked');
$('#others').toggle(isChecked); //show/hide based on the bool
答案 1 :(得分:1)
尝试
$('#others').hide();
和
$('#others').show();
隐藏并显示该行。
答案 2 :(得分:1)
的 HTML 强> 的
<table>
<tr> <td>-------------------</td></tr>
<tr> <td class="trData">-------SHOW------</td></tr>
<tr> <td>-------------------</td></tr>
</table>
<div id="container">
<input type="radio" name="colors" id="red" value="show" checked/>Show<br />
<input type="radio" name="colors" id="blue" value="hide" />Hide<br />
</div>
JS
$("#container").find("input[type=radio]:checked").on("click", function() {
if($(this).attr('value')=='show')
{
$(".trData").show()
}else{
$(".trData").hide()
}
});
JS2 更紧凑,但在这种情况下,您需要在单选按钮中设置正确的值
$("#container").find("input[type=radio]:checked").on("click", function(event) {
var op= $(this).attr('value');
jQuery.globalEval('$(".trData").'+op+'()')
});
的 DEMO 强> 的