私は周りを見回しましたが、具体的なものは何も見つかりませんでした。
値が選択されているかどうかに基づいてフォームまたはテキストボックスを表示/非表示にする方法に関するチュートリアルはありますか?
私はこのドロップダウンボックスのようなものを持っています(追加、アイテム1、アイテム2、アイテム3など..)
add が選択されている場合は、追加するフォームを表示します (First Name、last Name など) などのいくつかの属性を追加します。
私は周りを見回しましたが、具体的なものは何も見つかりませんでした。
値が選択されているかどうかに基づいてフォームまたはテキストボックスを表示/非表示にする方法に関するチュートリアルはありますか?
私はこのドロップダウンボックスのようなものを持っています(追加、アイテム1、アイテム2、アイテム3など..)
add が選択されている場合は、追加するフォームを表示します (First Name、last Name など) などのいくつかの属性を追加します。
<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なので、テストされていません。
サーバー側からこれを行う場合は、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 を使用することをお勧めします。
これをクライアントコードで配線します。onchange
JavaScript または jQuery でselect のイベントを処理し、それにハンドラーをバインドします。フォームを表示するのは「Add」だけなので、ハンドラーで選択した値を確認し、それが「Add」の値である場合は、フォームを表示します。それ以外の値の場合は、フォームを非表示にします。
サーバーコードでこれを行う場合は、選択が変更されたイベントを処理し、フォームの可視性プロパティをそのように設定します。いずれにせよ、かなり簡単なはずです。
クライアントでこれを行うと、サーバーからのリクエストを処理する責任を取り除きながら、ポストバックに関するコーディングを回避できます。