2016-05-26 12 views
0

私は最後の項目が "その他"と呼ばれるグリッドビューにリストボックスを持っています。 "other"を選択すると、ユーザが値を入力するためのテキストボックスが表示され、選択されていない場合はテキストボックスが非表示になるような方法を見つける必要があります。特定のリストボックス項目が選択されているときにテキストボックスを表示する方法は?

私は(jqueryまたはjavascriptを使用して)クライアント側でこれを実行しようとしています。

答えて

0

あなたがして試みることができる:あなたが直接あなたがロードイベントに関連付けを作成し、イベントを関連付けることができない場合

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コントロールの代わりにスパン。

+0

私はあなたの言うことを理解しています。おそらくサーバー側の解決策です。おそらくjqueryを使ってクライアント側を探していました。 – Doug

+0

これはサーバー側のソリューションではありません。ちなみに、 "str = ListBox1.SelectedItem(1).ToString"を3行目で使う必要があるかもしれません。SelectedItemは配列で、私が覚えている限り、 "0"はValueMember、 "1"はDisplayMemberです。 –

0

はずっとテストの後、私はまっすぐに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と互換性があるかどうかはまだわかりません。 データベースからの値に応じて、テキストボックスの初期状態を自分自身で解決しなければなりません。

関連する問題