私は最後の項目が "その他"と呼ばれるグリッドビューにリストボックスを持っています。 "other"を選択すると、ユーザが値を入力するためのテキストボックスが表示され、選択されていない場合はテキストボックスが非表示になるような方法を見つける必要があります。特定のリストボックス項目が選択されているときにテキストボックスを表示する方法は?
私は(jqueryまたはjavascriptを使用して)クライアント側でこれを実行しようとしています。
私は最後の項目が "その他"と呼ばれるグリッドビューにリストボックスを持っています。 "other"を選択すると、ユーザが値を入力するためのテキストボックスが表示され、選択されていない場合はテキストボックスが非表示になるような方法を見つける必要があります。特定のリストボックス項目が選択されているときにテキストボックスを表示する方法は?
私は(jqueryまたはjavascriptを使用して)クライアント側でこれを実行しようとしています。
あなたがして試みることができる:あなたが直接あなたがロードイベントに関連付けを作成し、イベントを関連付けることができない場合
Private Sub ListBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Dim str As String
str = ListBox1.SelectedItem.ToString
If str.Equals("other") Then
TextBox1.Visible = True
Else
TextBox1.Visible = False
End If
End Sub
しかし:
For Each row As GridViewRow In gvProcesos.Rows
Dim ListBox1 As ListBox = row.FindControl("MylistBox")
AddHandler ListBox1.SelectedIndexChanged, AddressOf ListBox1_SelectedIndexChanged
Next
アンクライアント側では、あなたが可能性これらを試してください
$('#<%=gdRows.ClientID %>').find('span[id$="lblID"]')
レンダリングされたHTMLコントロールの代わりにスパン。
はずっとテストの後、私はまっすぐにJavaScriptを使用して私の解決策として、これに着い
私のサーバーコード
oListBox.Attributes.Add("onchange", "ShowHideTextbox('" & oListBox.ClientID & "','" & oTextbox.ClientID & "','" & oLabel.ClientID & "');")
私の私がラベルを持っている私の場合はjavascript関数
function ShowHideTextbox(oDropID, oTextID, oLabelID) {
var ddl = document.getElementById(oDropID);
var oTextbox = document.getElementById(oTextID);
var oLabel = document.getElementById(oLabelID);
var bShow = false;
for (i = 0; i < ddl.length; i++) {
if (ddl[i].selected) {
if (ddl[i].text == "Other") bShow = true;
}
}
if (bShow) {
oLabel.style.display = 'inline';
oTextbox.style.display = 'inline';
oTextbox.focus();
} else {
oLabel.style.display = 'none';
oTextbox.style.display = 'none';
}
}
と表示/非表示のテキストボックス Firefoxと互換性があるかどうかはまだわかりません。 データベースからの値に応じて、テキストボックスの初期状態を自分自身で解決しなければなりません。
私はあなたの言うことを理解しています。おそらくサーバー側の解決策です。おそらくjqueryを使ってクライアント側を探していました。 – Doug
これはサーバー側のソリューションではありません。ちなみに、 "str = ListBox1.SelectedItem(1).ToString"を3行目で使う必要があるかもしれません。SelectedItemは配列で、私が覚えている限り、 "0"はValueMember、 "1"はDisplayMemberです。 –