1. ホーム
  2. javascript

[解決済み] type属性を使用して、グループ内のチェックされたラジオボタンの値を取得するにはどうすればよいですか?

2022-02-08 07:44:07

質問

jQueryを使って、テキストエリアにフォーカスを当てようとしています。

$("input[type='checkbox']").click(function(){
  $("#mycbxs input[type ='checkbox']").val("");   
  var radioButtonsChecked = $("input[value='']:checked");
  radioButtonsChecked = $("#mycbxs:checked");
  if(radioButtonsChecked == "B") {
    $("#BAcbx").focus();
  }
 
  if(radioButtonsChecked == "M") {
    $("#MAcbx").focus();
  }
	
  if(radioButtonsChecked == "P") {
    $("#PHDcbx").focus();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="mycbxs">
  <br><strong>&nbsp;</strong>
  <br><input type="checkbox" id="BAcbx" value="B"> BA
  <br><input type="checkbox" id="MAcbx" value="M"> MA
  <br><input type="checkbox" id="PHDcbx" value="P"> PHD
</div>

<div id="myinputs">
  <br><strong>Discipline</strong>
  <br><input type="text" id="BAText" size="30">
  <br><input type="text" id="MAText" size="30">
  <br><input type="text" id="PHDText"  size="30">
</div>

選択されたテキストエリアにフォーカスが追加されない理由について、何か思い当たることはありませんか?HTMLに"Name"属性がないので難しいです(これは意図的なものです)。

よろしくお願いします。

どのように解決するのですか?

  $("input[type='checkbox']").click(function(){
   var radioButtonsChecked= $(this).val();
   if(radioButtonsChecked == "B") { $("#BAcbx").focus(); } 
   if(radioButtonsChecked == "M") { $("#MAcbx").focus(); } 
   if(radioButtonsChecked == "P") { $("#PHDcbx").focus(); }
  })

しかし、この場合、複数選択ができないようにラジオボタンをお勧めします。