このスニペットは、チェックボックスがクリックさ#typeOther
れたときに入力されたテキストを正常に表示します。#securityCl
ただし、ユーザーが別のラジオボタンに切り替えた場合、または#securityCl
チェックボックスをもう一度クリックして入力を完全に無効にした場合に不要なテキストを含むフォームを送信しないように、#typeOther
テキスト入力を非表示にしてクリアしたいと思います。
HTML:
<table>
<tr>
<td>
<input type="checkbox" id="securityCl" name="securityCL">
<label for="securityCl">Security Clearance - Type:</label>
</td>
</tr>
<tr>
<td class="indent">
<input type="radio" id="typeTsSci" name="securityType" disabled="disabled">
<label for="typeTsSci">TS/SCI</label>
</td>
<td>
<input type="radio" id="typeS" name="securityType" disabled="disabled">
<label for="typeS">S</label>
</td>
</tr>
<tr>
<td class="indent">
<input type="radio" id="typeTs" name="securityType" disabled="disabled">
<label for="typeTs">TS</label>
</td>
<td>
<input type="radio" id="typeOther" name="securityType" disabled="disabled">
<label for="typeOther">Other:</label><br>
</td>
<td>
<input type="text" id="otherText" name="securityType" disabled="disabled">
</td>
</tr>
</table>
そしてこれが私のjQueryです:
$(function() {
var hide = $('#otherText').hide();
$('#securityCl').click(function() {
$('input[name="securityType"]').prop('disabled', !this.checked);
$('#typeOther').click(function() {
$(hide).show();
});
});
});