我试图隐藏一个div,取决于上面两个问题的答案。两者都需要隐藏“N”。但是很难弄清楚如何将两个ID作为脚本中的变量。
希望你能帮忙......
<div><table><tr>
<td><input name="v2_1a" type="radio" id="v2_1a" value="Y"></td>
<td><input name="v2_1a" type="radio" id="v2_1a" value="N"></td></tr>
<tr>
<td><input name="v2_1b" type="radio" id="v2_1b" value="Y"></td>
<td><input name="v2_1b" type="radio" id="v2_1b" value="N"></td>
</tr></table>
</div>
<script type="text/javascript">
$("input[name$='v2_1b']").click(function() {
$(".expand1").show();
var value1 = document.getElementById('v2_1a');
var value2 = $(this).val();
if (value1 == 'Y') {
$(".expand1").show();
}
else (value1 == 'N' && value2 == 'N') {
$(".expand1").hide();
}
});
</script>
<div id="expand1" class="expand1" style="display:inline-block;">
</div>
答案 0 :(得分:2)
您可以通过在查询中添加:checked
选择器来获取广播组的选中值:
var value1 = $("input[name='v2_1a']:checked").val();
var value2 = $("input[name='v2_1b']:checked").val();
在http://api.jquery.com/checked-selector/了解有关选择器的详情。
要检测任一广播组中的更改,您可以使用以下代码:
$("input[name='v2_1a'],input[name='v2_1b']").change(function() {
// Do your checks here
});
编辑:添加了一个关于如何检测任一无线电组中的更改的示例。
答案 1 :(得分:1)
Ids
必须是唯一的。没有两个元素具有相同的ID。您可以与它们相同的类
更改
else (value1 == 'N' && value2 == 'N') {
到
else if(value1 == 'N' && value2 == 'N') {
var temp1 = $('input:radio[name='v2_1a']:checked').val();
var temp2 = $('input:radio[name='v2_1b']:checked').val();
if (temp1 == 'Y')
$(".expand1").show();
if(temp1 =='N' && temp2 == 'N')
//hide
答案 2 :(得分:1)
您不能在文档中两次使用相同的ID,因此请更改它,并按名称定位元素,检查是否检查了两个“N”值,并根据该值切换元素可见性:
var elems = $('input[name^="v2_1"]');
elems.on('change', function () {
var n = elems.filter(':checked').length > 1 ? $.map(elems, function(e,i) {return e.checked?e.value:'N'}) : ['Y']
$(".expand1").toggle(n.indexOf('Y') != -1);
});
答案 3 :(得分:0)
你的问题有点不清楚,
<div>
<table>
<tr>
<th>Group 1</th>
</tr>
<tr>
<td>Yes<input name="v2_1a" type="radio" class="radio" id="v2_1a_y" value="Y" /></td>
<td>No<input name="v2_1a" type="radio" class="radio" id="v2_1a_n" value="N" /></td>
</tr>
<tr>
<th> Group 2</th>
</tr>
<tr>
<td>Yes<input name="v2_1b" type="radio" class="radio" id="v2_1b_y" value="Y" /></td>
<td>No<input name="v2_1b" type="radio" class="radio" id="v2_1b_n" value="N" /></td>
</tr>
</table>
这是一个js小提琴,点击单选按钮获取名称,值和ID。 http://jsfiddle.net/uvYgL/1/
JS
jQuery('body').on('click','.radio', function(){
var id = jQuery(this).attr('id');
var name = jQuery(this).attr('name');
var input_val = jQuery('#'+id).val();
})
请添加一些您需要的其他详细信息吗?