javascript が $(document).ready(function.... を呼び出しているときに、MVC Razor HTML ヘルパーが (DOM で) レンダリングされないことに気付きました。 DOM オブジェクトを見つけます。
Javascript
$(document).ready(function () {
$('input:radio,select').change(function () {
DO STUFF...
HTML ヘルパー
@Html.RadioButtonList(m => m.ItemType, new SelectList(Model.ItemTypes, "Name", "Name")
別
@Html.DropDownListFor(n => n.ApartmentFloor, new SelectList(Model.ApartmentFloors, "Id", "Floor"), new { @id = "floorsSelect", @class = "exists" })
通常、ラジオボタンとドロップダウンは .change 関数を取得する必要がありますが、.change が追加されたときにまだレンダリングされていないため、その機能を取得できません。
「ドキュメントの準備ができている」のではなく、「HTMLヘルパーの準備ができている」ようにする方法はありますか?
編集:
クライアントがレンダリングを開始する前に HTML ヘルパーがサーバー上で実行されるため、同様に終了する必要があると人々は指摘しています。「ドキュメントの準備ができている」JSをデバッグすると、HTMLヘルパーオブジェクトはまだレンダリングされていませんが、ページの残りの部分はレンダリングされているため、これは当てはまらないようです。
HTMLヘルパーオブジェクトに「ロード時」機能を追加する方法、またはカミソリ構文を使用してcshtmlファイルから直接「変更」機能を追加する方法はありますか?