選択したラジオボタンのテキストボックスのみを表示します。現在、それはそのように動作します。しかし、問題は、何かを入力するためにテキストボックスをクリックすると、それはトグルすることです。ラジオボタンの選択も現在の選択に変更されません。以下の詳細なコードを見つけてくださいラジオボタンをグループ化し、jQueryを使用して入力コントロールを切り替えます
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js">
</script>
<script>
$(document).ready(function()
{
$(".userid_textbox").hide();
$(".userid").click(function()
{
var kid=$(this).children(".userid_textbox");
var dad=$(this).parent();
var toggledKid = $(dad).find('.toggle');
$(kid).addClass("toggle").show('slow');
$(toggledKid).hide('slow').removeClass('toggle');
});
});
</script>
</head>
<body>
<div class="contentbox tp">
<h1 class="heading">Sites List</h1>
<div style="float:left;margin-right:185px;" class="userid">
<input type="radio" id="" value="Search By UserId" checked/>Search By UserId
<div class="userid_textbox">
<input id="username" maxlength="50" name="username" style="width: 50%;
font-size: 25px;" tabindex="1" type="text" value="" />
</div>
</div>
<div style="float:left;margin-right:100px;display:inline;" class="userid">
<input type="radio" id="" value="Search By Sitename"/>Search By Sitename
<div class="userid_textbox">
<input id="username2" maxlength="50" name="username1" style="width: 50%;
font-size: 25px;" tabindex="1" type="text" value="" />
</div>
</div>
<div style="float:left;margin-right:50px;display:inline;" class="userid">
<input type="radio" id="" value="Search By Expiry date"/>Search By
Expiry date
<div class="userid_textbox">
<input id="username3" maxlength="50" name="username2" style="width: 50%;
font-size: 25px;" tabindex="1" type="text" value="" />
</div>
</div>
</div>
</body>
</html>
を削除 'ので:radio'では、jQueryの延長ではなく、CSSの仕様の一部であり、'使用して照会:radio'では、ネイティブのDOM 'が提供するパフォーマンス向上の利点を取ることができないquerySelectorAll () 'メソッドを呼び出します。現代のブラウザーでのパフォーマンスを向上させるには、代わりに '[type =" radio "]'を使用してください。 – darcher