首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript - If语句,其条件依赖于两个单独的表单id

Javascript - If语句,其条件依赖于两个单独的表单id
EN

Stack Overflow用户
提问于 2013-05-28 17:21:15
回答 4查看 119关注 0票数 1

我试图隐藏一个div,这取决于上面两个问题的答案。两者都需要是"N“才能隐藏。但是很难弄清楚如何将这两个ID都作为脚本中的变量。

希望你能帮上忙。

代码语言:javascript
复制
<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>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-28 17:27:21

您可以通过在查询中添加:checked选择器来获取单选按钮组的校验值:

代码语言:javascript
复制
var value1 = $("input[name='v2_1a']:checked").val();
var value2 = $("input[name='v2_1b']:checked").val();

有关选择器的更多信息,请访问http://api.jquery.com/checked-selector/

要检测任一单选按钮组中的更改,可以使用以下代码:

代码语言:javascript
复制
$("input[name='v2_1a'],input[name='v2_1b']").change(function() {
  // Do your checks here
});

编辑:添加了如何检测任一单选按钮组中的更改的示例。

票数 2
EN

Stack Overflow用户

发布于 2013-05-28 17:23:10

Ids必须为unique.No两个元素具有相同的id.You可以将相同的类赋给它们

变化

代码语言:javascript
复制
  else (value1 == 'N' && value2 == 'N') {

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2013-05-28 17:26:49

您不能在文档中使用相同的ID两次,因此请更改该ID,并按名称确定元素的目标,检查是否选中了这两个'N‘值,并基于此切换元素的可见性:

代码语言:javascript
复制
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);
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16788360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档