我正试图隐藏一个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>
您可以通过在查询中添加: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
});
编辑:添加了一个关于如何检测无线电组更改的示例。
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
您不能在文档中使用相同的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);
});
小提琴
你的问题有点不清楚,
<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();
})
请补充一些细节,你还需要什么?