2017-04-07 3 views
0

を反映していないイベント・テンプレートを作成し、私はそれ剣道スタイルの入力テキストボックスにするために、K-テキストボックスのクラスを持つHTML入力を有する:K-テキストボックスの入力には、JavaScriptの値の変化(剣道スケジューラ)

<input id="LocationInput" class="k-input .k-textbox" data-bind="value:location"/> 

を....

を私は(場所入力テキストボックスが置かれている場所である)を作成し、イベントポップアップを開いて、私は彼らが自動入力する値でLocationInputため、ユーザ指定されたパラメータを持っているときに、私は$('#'+paramData[i].fieldName+'Input').val(paramData[i].recordId);

行います

paramDataは渡されたパラメータの配列ですters、fieldNameは 'Location'、recordIdはその値になります。この後、console.logでチェックすると、コンソールにテキストが正しく設定されますが、イベントの作成ポップアップに変更が反映されず、ボックスはまだ空です。私は '.val()'の後に '.change()'を追加しようとしましたが、何もしませんでした。

入力がcreateイベントテンプレートの一部であるときに、javascriptで設定した値を反映するために 'k-textbox'入力を取得するにはどうすればよいですか?

答えて

1

あなたのハンドラに渡されるイベントオブジェクトのコンテナ要素内を検索する必要があり、入力を検索するには:

function yourSchedulerAddOrEditEventHandler(e) { 
    e.container.find('#'+paramData[i].fieldName+'Input').val(paramData[i].recordId); 
    e.container.find('#'+paramData[i].fieldName+'Input').trigger("change"); 
} 

http://docs.telerik.com/kendo-ui/api/javascript/ui/scheduler#events

+0

ありがとう詳細はこちらをご覧ください!それは素晴らしい仕事でした。しかし、それは実際のイベントではなく、ポップアップ入力フィールドの作成自体の変更を反映するだけだったので、イベント値を設定するだけでなく、container.find()関数を使用してポップアップで設定値を表示するだけでした。 –

+1

@TylerDahle、その問題を回避するには、入力の変更イベントをトリガーする必要があります。私は答えを更新しました。 – Orilux

+0

ああ...そうだ。助けをもう一度ありがとう:) –

関連する問題