Div部分未显示给所有单选按钮选择-Jquery

时间:2012-05-03 19:49:30

标签: javascript jquery jquery-ui

当您点击单选按钮时,我遇到了这个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>

为什么复选框仅显示第一个单选按钮而不显示其余按钮?

1 个答案:

答案 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