テキストボックス、リンクボタン、およびjqueryダイアログで構成されるユーザーコントロールがあるため、ユーザーがリンクボタンをクリックすると、ダイアログが表示され、リストからユーザー名が選択されます。ユーザーを選択すると、ダイアログが閉じ、選択したユーザー名がテキスト ボックスに表示されます。これはすべて正常に機能しています。私が抱えている問題は、ページに同じユーザー コントロールのインスタンスが複数ある場合です。ダイアログが表示されますが、ダイアログを開くためにクリックしたユーザー コントロールのインスタンスに関係なく、ユーザーを選択すると、常に 2 番目のテキスト ボックスに入力されます。
テキストボックスの値を設定するJavaScriptはすべてユーザーコントロールにあります。私はどこでもそれをグーグルで検索しましたが、誰もがそれを別のファイルに分割すると言っているので、これを試しました
ユーザーコントロール
function setUserDetails(id, name) {
setSelectedValue("<%# tbxSelectedUserName.ClientID %>", name);
setSelectedValue("<%# tbxSelectedUserId.ClientID %>", id);
closeSelectUserDialog();
}
外部 Javascript File.js
function setSelectedValue(control, value) {
$(control).val(value);
}
今は何も設定されていません。関数が呼び出されますが、どちらのテキスト ボックスにも値が表示されません。
何か案は?