2

私は周りを見回しましたが、具体的なものは何も見つかりませんでした。

値が選択されているかどうかに基づいてフォームまたはテキストボックスを表示/非表示にする方法に関するチュートリアルはありますか?

私はこのドロップダウンボックスのようなものを持っています(追加、アイテム1、アイテム2、アイテム3など..)

add が選択されている場合は、追加するフォームを表示します (First Name、last Name など) などのいくつかの属性を追加します。

4

3 に答える 3

0
<select id="target">
    <option value="option1" selected="selected">Add</option>
    <option value="option2">Item1</option>
  </select>

<input type="text" class="textboxclass" />

<div class="someform">
//content
</div>

someformクラスのデフォルトのcssdisplayプロパティはnoneです。例:

.someform{display:none;}

Jqueryスクリプト

<script>
$('#target').change(function() {
  var name = $('#target option:selected'),text(); //Item1
  var id = $('#target').val(); // option2

  if(id =="option2"){
   //your logic for this option
   //hide textbox
   $('.textboxclass').hide();
   $('.someform').show();
   }else{
   $('.textboxclass').show();
   $('.someform').hide();

}
   //other if else logic

});
</script>

ソフトウェアがインストールされていないラップトップでimなので、テストされていません。

于 2012-10-20T03:29:56.970 に答える
0

サーバー側からこれを行う場合は、DrowpDown リストの AutoPostBack プロパティを true に設定する必要があります。

および DropdownList の SelectedIndexChanged イベントで

これを試して、

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
     if (DropDownList1.SelectedIndex == 0)
     {
         entryForm.Visible = true;
         viewForm.Visible = false;
     }
     else if (DropDownList1.SelectedIndex == 1)
     {
         entryForm.Visible = false;
         viewForm.Visible = true;

}

しかし、これは良いアプローチではありません。上記の回答に従って、JavaScript または JQuery を使用することをお勧めします。

于 2012-10-20T07:50:31.947 に答える
0

これをクライアントコードで配線します。onchangeJavaScript または jQuery でselect のイベントを処理し、それにハンドラーをバインドします。フォームを表示するのは「Add」だけなので、ハンドラーで選択した値を確認し、それが「Add」の値である場合は、フォームを表示します。それ以外の値の場合は、フォームを非表示にします。

サーバーコードでこれを行う場合は、選択が変更されたイベントを処理し、フォームの可視性プロパティをそのように設定します。いずれにせよ、かなり簡単なはずです。

クライアントでこれを行うと、サーバーからのリクエストを処理する責任を取り除きながら、ポストバックに関するコーディングを回避できます。

于 2012-10-19T21:05:12.673 に答える