0

いくつかの計算フィールドと繰り返しコントロールを使用して、HTML リスト ボックスを表示しています。リストボックスの選択をページングするページャーなど、うまく機能します。

ここで、リスト ボックスの onclick イベントが必要です。クライアント側のクリック イベントでは、フィールドに入力する必要があります。クリック イベントは正常に機能しますが、フィールドへのハンドルを取得する方法がわかりません。

デザイナーのクライアント クリック イベントでは、次のように簡単に実行できます。

しかし、デザイナーを実際に使用していないため、これはうまくいかないように見えるので、 #{id:lastSelected} は正しく定義されていませんか?

デザイナーを介してイベントを追加できるように、オプション ラインをクリック可能にする方法はありますか?

または、「#{id:lastSelected}」をクライアント JavaScript 内で解決できる方法がありますか? 多分XSP関数を呼び出しますか?

これは、リストボックスの最初の部分を作成する計算フィールドです。onclick イベントをどのように実行しているかに注意してください。

 var id = "id='" + getClientId("searched") +"ListBox'";     //Generate a unique id for the list box using the computed field name   
 var size= "size=" + compositeData.listBoxSize.toString();  
 var style = "style='width:275px;'";
 var multi = (compositeData.multipleSelect==true) ? "multiple" : ""     
 return "<select " +id + " " + size + " " + style + " " + multi + " onclick='searchedListBoxSingleLeftClick();'>";

各オプション行を計算する方法は次のとおりです。この計算フィールドは繰り返しコントロール内にあります

 var name = rowData.getColumnValues()[1]; 
 return "<option " + " id='" + rowData + "' value='" + rowData.getUniversalID() + "'>" + name + "</option>"
4

1 に答える 1

2

Bruce - お送りした Name Picker カスタム コントロールと同様に、scriptBlock を使用して、必要なコンポーネントの ID を表示できます。

var lastSelected = "#{id:lastSelected}";

次に、クライアントの JavaScript でその変数を参照できます。

dojo.byId(lastSelected).value = namesSelected
于 2013-01-11T17:16:58.330 に答える