ドロップダウン (選択) 要素に関連付けられている、billingOptions() という関数を作成しました。ユーザーがドロップダウンでオプションを選択すると、関数が実行されます。
ドロップダウンは、ページを通じて動的に追加されます...billingOptions() 関数 onChange を追加するたびに。Jquery を使用して、変更されたドロップダウンから class=rate の最も近いインスタンスを見つけようとしています。ドロップダウンは動的に追加されるため、.rate のインスタンスが多数存在する可能性があることに注意してください。
「this」と「closest」を使用して最も近いクラスを見つけようとしました(最も近い関数でクラスを使用できるかどうかさえわかりません)。ここにいくつかのコードがあります:
*** HTML の正確な構造を提供するように求められました (テーブルの行は動的に生成されます。テーブルは静的です)。
<table id="billTasks">
<tr> <input class="taskNameInput" type="text" size="52" placeholder="Task Name" name="task:1" disabled="disabled"> <select class="billOptions" onchange="billingOptions(this)">
<option class="fixedRate">Bill Fixed Rate</option>
<option class="hourly">Bill Hourly</option>
</select>
<input type="text" name="fixedRate" placeholder="Rate" class="fieldWidth100 rate"/>
</tr>
</table>
function billingOptions(){
$(this).closest('.rate').hide();
}
***編集: このコードは機能しません。目標は、input.rate 要素を非表示にすることです。