当您点击单选按钮时,我遇到了这个Jquery div show()
hide()
问题。我搜索了这个论坛,并且能够使功能正常工作,但不是所有的单选按钮。我有 n 个单选按钮,当用户点击“是”时,我想显示一个div部分。但我遇到的问题是这对第一个单选按钮是正常的,其余的不响应点击。这是我正在使用的js
$(document).ready(function() {
$('#isYes').click(function() {
var test = $(this).val();
alert(test)
$("div.desc").hide();
$('#divCheck').show();
});
$('#isNo').click(function() {
$('#divCheck').hide();
});
我的jsp代码看起来像
<p>
<td><core:out value="${obj.txt}" /> <form:radiobutton
path="car[${Status.index}].carSelection"
value="isYes" onclick="" id="isYes" label="Yes" /> <form:radiobutton
path="car[${Status.index}].carSelection"
value="isNo" id="isNo" label="No" />
</td>
</p>
<div id="divCheck" class="desc({where desc is display: none;})">
<c:forEach items="${car.carList}" var="type"
varStatus="cstatus">
<form:checkbox path="carList[${cstatus.index}]"
value='${type.carName' />
<core:out value="${type.carName}" />
<br />
</c:forEach>
</div>
为什么复选框仅显示第一个单选按钮而不显示其余按钮?
答案 0 :(得分:0)
正如alexg所说,如果你在页面上使用多个id,jquery将只找到第一个。如果你把它改成一个类。您将获得一个包含该类的任意数量元素的选择器。
本作品:
<input class="isYes" type="radio">
<input class="isYes" type="radio">
var totalElements = $('.isYes').length; // 2
这不会:
<input id="isYes" type="radio">
<input id="isYes" type="radio">
var totalElements = $('#isYes').length; // 1