2

テキストボックスを表示するラジオボタンのいずれかを選択しようとしていますが、実際には機能していません:( .So here is html in the jsp page.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
input[type=text]{
  display : none
}
</style>
<script type="text/javascript" language="text/html" src="../jscript/jquery-1.7.2.js"></script>
<script type="text/javascript" language="javascript" src="../jscript/jquery-1.4.2.min.js"></script>
<script type="text/javascript"> // I 'm using your 1st jquery whose usage is void of css
$('input[type=radio]').change(function() {
    $('input[type=text]').css('display','none');
     $(this).closest('tr').find('input[type=text]').css('display','block');
});
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Test </title>
</head>
<body>
<form action="">
<div align="left" style="color:#2D7EE7">
<table>
<tr>
<td>
<input type="radio" name="radio" value="college"></td> 
<td>College  </td>
<td><input type="text" name="clg"></td></tr>
<tr>
<td><input type="radio" name="radio" value="school"></td>
<td> School </td>
<td><input type="text" name="schl"></td>
</tr>
</table>
</div>
</form>
</body>
</html>

そして、ここにjqueryのコードがあります:

<script type="text/javascript">
$('input[type=radio]').change(function() {
       $('input[type=text]').hide();
       $(this).parent().next().show();
    });
</script>

そしてCSS:

<style type="text/css">
input[type=text]{
  display : none
}
</style>

しかし、まだこれは機能していません:( :(、だから私が間違っているところを推測してください.コメントしてください.

4

2 に答える 2

3

少し変更してください:

            $('input[type=radio]').change(function() {
                $('input[type=text]').hide();
                 $(this).closest('tr').find('input[type=text]').show();
            });

また

        $(document).ready(function(){
            $('input[type=radio]').change(function() {
                $('input[type=text]').css('display','none');
                $(this).closest('tr').find('input[type=text]').css('display','block');
            });
        });
于 2012-11-26T10:40:54.470 に答える
0

最初に、JQuery スクリプトを 1 つだけページに含めてみます (jquery-1.4.2.min.js を削除します)。

$(':radio')と同等です$('[type=radio]')

$(document).ready(function(){
    $(':radio').change(function() {
        // Hide all input:text in the table     
        $('input:text', $(this).closest("table")).hide(); 
        $(this).parent().nextAll().find('input:text').show();
    });
});
于 2012-11-26T11:59:01.560 に答える